Facebook Graph API返回丢失数据的对象

Facebook Graph API returns object with missing data

本文关键字:数据 对象 Graph API 返回 Facebook      更新时间:2023-09-26

我目前正在尝试从一个帖子中获得"喜欢"的总数。如果我通过Graph API explorer查询帖子,则数据在like .data.count下。从我的javascript应用程序中,返回的对象只包含"id"answers"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'});      
                    }

收到的响应数据示例如下(从这里提取):

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

你可以看到,countlikes里面,而不是在data里面,所以它一定是这样的:

likecount = response.likes.count;

data包含喜欢该帖子的人。