0

現在、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 ループが必要なことは確かですが、各結果にニュースフィードの投稿情報を入力するにはどうすればよいでしょうか?

編集

これが、クエリの結果を正しく受け取る新しいコードです。残念ながら、結果は表示されていません。

<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>
4

2 に答える 2

1

FB.apiを介してクエリを実行し、コールバック関数で取得するデータを処理します。

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

Firefoxでそれを実行し、Firebugコンソールを調べてください。そうすれば、応答がどのように構築されるかを理解する必要があります。

于 2012-06-05T15:18:06.823 に答える
0
FB.api(

     'fql',


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


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

);
于 2014-03-07T05:00:48.820 に答える