Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript显示Facebook fql.query结果_Javascript_Facebook_Facebook Fql - Fatal编程技术网

使用javascript显示Facebook fql.query结果

使用javascript显示Facebook fql.query结果,javascript,facebook,facebook-fql,Javascript,Facebook,Facebook Fql,我现在正在学习javascript和Facebook API,我正在尝试显示用户的新闻提要。我知道需要使用的查询,但不知道如何使用javascript显示结果。这是我的问题 SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidde

我现在正在学习javascript和Facebook API,我正在尝试显示用户的新闻提要。我知道需要使用的查询,但不知道如何使用javascript显示结果。这是我的问题

SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0
我很确定我需要一个forEach循环来显示每个结果,但如何用newsfeed帖子信息填充每个结果呢

编辑 好的,这是我的新代码,它可以正确地接收查询结果。不幸的是,结果没有显示出来

<script>
               
function showPosts() {
    FB.api("/fql?q="+encodeURIComponent("SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0"), function(response, post_id, actor_id, message) {
    
    console.log(response);
  
    var posts = response.data
    var postId = post_id.data;
    var message = message.data;
  
    for (var i=0; i < posts.length && i < 25; i++) {
      var post = posts[i];
      
     markup += '<div>' + post.postId + post.message + '<div/>';
  }
  
    document.getElementById('newsfeedposts').innerHTML = markup;
  
});
  
</script>

通过FB.api执行查询,并处理回调函数中返回的数据

FB.api("/fql?q="+encodeURIComponent("SELECT ..."), function(response) {
  console.log(response);
})

在Firefox中执行该操作,查看Firebug控制台,您应该了解响应是如何构造的。

我在phonegap中工作,当我在桌面浏览器中查看应用程序时,我无法登录Facebook。我的登录按钮不起作用。因此,我无法使用api调用用户newsfeed,因此我无法从控制台获得任何有价值的信息。那么,使用Graph api Explorer并在那里查看查询结果,这也会告诉您期望的数据格式->Graph api Explorer帮了大忙,谢谢。我用我正在使用的新脚本更新了op。您知道为什么信息不会显示吗?在您尝试执行var postId=post_id.data;–的代码行中没有称为post_id的变量/对象这是一个JavaScript错误,它将终止您的脚本。说真的,如果您想在JS中编写脚本,显然不太了解JS,那么您应该获得/设置一个开发环境,在那里您可以拥有一个错误控制台。
FB.api(

     'fql',


     {'q' : "SELECT url, like_count FROM link_stat WHERE url='http://stackoverflow.com/';"},


     function (response){
          console.log(JSON.stringify(response));
     }

);