使用我自己的注册应用程序的access_token无法在"赞"和"评论"字段中获得"计数"

JZ.*_*Bin 4 android facebook facebook-like facebook-graph-api facebook-access-token

主要问题:

当我发送一个GET请求来检索某些ID/POSTS的数据时,就像使用我自己的facebook注册应用程序生成的访问令牌一样https://graph.facebook.com/microsoft/posts?fields=comments,likes&limit=1&access_token=,无法在"赞 "和"评论"字段中获得"计数",但是可以获得预期的数据.使用来自Facebook示例应用程序的访问令牌,例如" HelloFacebookSample ".

Android和FB Graph API Exploer上都会出现此问题.另外,为了解决可能的原因,我使用了与我注册的app_id下的FB示例完全相同的代码,但同样的问题又出现了.所以我能想到的唯一可能的解释是FB app_id的一些奇怪的事情,而不是权限范围或不同的用户(我已经使用两个用户测试过).

这里的反应变量从GET请求https://graph.facebook.com/microsoft/posts?fields=likes&limit=1&access_token=:

1.使用我的app_id生成的access_token :

{
  "data": [
    {
       "id": "20528438720_10151574758413721", 
       "created_time": "2013-07-18T18:41:51+0000", 
       "likes": {
          "data": [
            {
               "id": "701134683", 
               "name": "Someone's name"
            }, 
            {
               "id": "113770258795376", 
               "name": "Someone's name"
            }
            /****and so on****/
        ], 
        "paging": {
         "cursors": {
           "after": "MTAwMDAwNjkxNDMxMTcz", 
           "before": "NzAxMTM0Njgz"
         }, 
         "next": "https://graph.facebook.com/20528438720_10151574758413721/likes?limit=25&after=MTAwMDAwNjkxNDMxMTcz"
       }
     }
   }
  ], 
  "paging": {
    "previous": "https://graph.facebook.com/20528438720/posts?fields=likes&limit=1&since=1374172911", 
    "next": "https://graph.facebook.com/20528438720/posts?fields=likes&limit=1&until=1374172910"
  }
}
Run Code Online (Sandbox Code Playgroud)

2.使用FB的示例app_id生成的access_token (这里可以获得喜欢的"计数"):

{
  "data": [
      {
        "likes": {
          "data": [
          {
                "name": "Someone's name", 
              "id": "100003531173993"
            }, 
            {
              "name": "Someone's name", 
              "id": "100002299390558"
            }, 
            {
              "name": "Someone's name", 
              "id": "1038509978"
            }, 
            {
              "name": "Someone's name", 
              "id": "1615491698"
            }
          ], 
        "count": 1071
      }, 
      "id": "20528438720_10151574758413721", 
      "created_time": "2013-07-18T18:41:51+0000"
    }
  ], 
  "paging": {
    "previous": "https://graph.facebook.com/20528438720/posts?fields=likes&limit=1&since=1374172911", 
    "next": "https://graph.facebook.com/20528438720/posts?fields=likes&limit=1&until=1374172910"
  }
}
Run Code Online (Sandbox Code Playgroud)

这真的让我困惑了好几天,而且我已经做了很多搜索,但是找不到任何有用或相关的信息可能是因为我的英语:P.还有其他人面临类似的问题吗?

谢谢你的阅读.

任何帮助或替代解决方案赞赏!(在这里,我只想在我的应用中显示喜欢的数量)

JZ.*_*Bin 7

刚刚找到解决方案,这完全归功于FB 在2013年10月的突破性变化中的迁移.他们更改了POST_ID/likes格式,但可能还没有完成迁移,因此存在一些不一致之处.以下是我从Facebook Developer Alert获得的官方声明.

POST_ID /喜欢的格式会改变.应用程序将能够通过分页检索帖子上的所有喜欢(而不是今天的前4个).作为功​​能更新的结果,类似的计数将移动到摘要字段.

所以现在如果你在"喜欢"或"评论"字段中看不到"计数",请按照以下步骤操作:

  1. 发送GET请求,让我们说https://graph.facebook.com/microsoft/posts?fields=likes&limit=1&access_token=,然后你得到POST_ID ="id"
  2. 一个新的GET请求https://graph.facebook.com/POST_ID/likes?summary=true&access_token=,然后你会在"摘要"字段中找到"赞"的"total_count".

希望这可以帮助!