Facebook 好友请求返回空——尽管有权限

标签 facebook facebook-graph-api facebook-graph-api-v2.7

<分区>

我正在为 iOS 应用构建 Rails 后端。后端需要与 Facebook 接口(interface)以获取和使用每个用户的 Facebook 好友。

但是 Facebook 的“好友”请求返回的是空的。

我实际上是在提出以下请求:

curl https://graph.facebook.com/[FILTERED_USER_ID_FOR_APP]?fields=friends&access_token=[FILTERED]&debug=all

我查看了大量关于此的 StackOverflow 帖子(this onethis onethis one 等等),但没有找到相同的问题或适合的解决方案。

我似乎已经正确设置了权限。在 Rails 应用程序和用户通过 iPhone 应用程序进行身份验证时,我都将 user_friends 设置为权限之一,事实上,当有人现在注册时,它会要求他们确定用户好友权限。

但是当我实际请求他们的 friend 时,我得到一个回复​​告诉我有很多 friend ,但没有返回任何一个。以下回复适用于肯定在该应用上有 friend 的用户。

{
  "data":[],
  "summary": {
    "total_count": 419 
  },
  "__debug__": {
    "messages": [
       { 
        "link": "https:\/\/developers.facebook.com\/docs\/apps\/versions\/", 
        "message": "No API version was specified. This request defaulted to version v2.7.","type":"warning"
       },        
       {
         "link": "https:\/\/developers.facebook.com\/docs\/apps\/changelog#v2_0",
         "message": "Only friends who installed this app are returned in API v2.0 and higher. total_count in summary represents the total number of friends, including those who haven't installed the app.",
         "type": "info"
       }
     ]
   }
 }

让我感到困惑的是,a) App ID/User ID/Access Tokens 似乎是正确的,因为我可以获得基本的个人资料信息,而b)我可以没有收到一个错误,告诉我该请求没有适当的权限。如果我在 the explorer 上没有权限提出类似的请求,它返回相关的调试说明:

  {
    "message": "The field 'friends' is only accessible on the User object after the user grants the 'user_friends' permission.",
    "type": "warning"
  }

如果我在资源管理器中使用正确的权限,它会返回一个好友列表(在data 数组中)。

所以它不是似乎是权限问题,但请求返回一个空的好友列表。有什么想法吗?

最佳答案

在 Igy 的帮助下(指向 this answer ),我找到了我的问题的具体答案,似乎值得添加到这里。

问题是新的 2.0+ API 版本只返回 friend :

  1. 谁在使用该应用
  2. 自己同意 user_friends 权限的人。

1 已经全部弄清楚了,但因为我仍在测试应用程序,而且还没有人接受权限,所以我的测试用户是唯一接受权限的人。没有其他人接受 user_friends,因此没有人显示为测试用户的 friend 。让测试用户的 friend 添加权限解决了这个问题,将该 friend 添加到返回的 friend 列表中。

关于Facebook 好友请求返回空——尽管有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728889/

相关文章:

用于移动网络的 Facebook Like 按钮

facebook - 如何公开我的 Facebook 应用程序

facebook - 在我的域(facebook)上获得所有喜欢

javascript - 我无权通过 Facebook API 获取所有 invitable_friends

iphone - Facebook UID 为 10 位数字而不是 9 位数字 UID

Facebook Graph api 如何通过访问 token 获取页面 ID

facebook - 是否有替代 Facebook 的图形 API 弃用用户字段 "locale"和 "timezone"的方法?

javascript - Facebook 分享链接计数