1

我目前正在尝试从帖子中获取“喜欢”的总数。如果我通过 Graph API Exporer 查询帖子,数据在 likes.data.count 下。在我的 javascript 应用程序中,返回的对象仅包含“id”和“created_time”。

我已经使用访问令牌调试器进行了检查,并且我有权访问 user_likes 和 friends_likes,所以我真的不知道缺少什么。但是,我确实怀疑这是一个权限问题。有谁知道为什么我不能在帖子中获得点赞数?

我的查询如下所示:

                    FB.api(postid + "?fields=likes",  
                      function(response) {
                      showLoader(false);

                      if (!response || response.error) {
                        alert('Error occured' + response.error);
                      } else {
                        alert("got response: " + JSON.stringify(response));                          
                        likecount = response.likes.data.count;
                        alert('likecount: ' + likecount);
                      }
                    });

我的初始化代码如下所示:

                    FB.init({ appId: '373915339387251', 
                              status: true, 
                              cookie: true,
                              xfbml: true,
                              oauth: true});

                    button.onclick = function() {
                        showLoader(true);
                        FB.login(function(response) {
                            if (response.authResponse) {
                                FB.api('/me', function(info) {
                                    login(response, info);
                                });    
                            } else {
                                //user cancelled login or did not grant authorization
                                showLoader(false);
                            }
                        }, {scope:'email,user_birthday,status_update,publish_stream,user_about_me,user_likes,friends_likes'});      
                    }
4

1 回答 1

0

收到的响应数据示例如下(摘自此处):

"likes": {
    "data": [
      {
        "name": "Mia Lusiana", 
        "id": "100003399221230"
      }, 
      {
        "name": "Habeeb Quazi", 
        "id": "525927716"
      }, 
      {
        "name": "Mert Vrss", 
        "id": "100002500864051"
      }, 
      {
        "name": "Nav", 
        "id": "100000757486687"
      }
    ], 
    "count": 8145

如您所见,countis inside likes, not inside data,所以它必须是这样的:

likecount = response.likes.count;

data包含喜欢该帖子的人。

于 2013-06-05T15:51:15.093 回答