当前位置: 首页 > 知识库问答 >
问题:

Facebook好友请求返回空--尽管有权限[重复]

花飞扬
2023-03-14

我正在为一个iOS应用程序构建一个Rails后端。后端需要与脸谱网接口,以获取和使用每个用户的脸谱网朋友。

但脸书的“朋友”请求却是空的。

我基本上提出了以下要求:

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

我看过大量关于StackOverflow的帖子(这个、这个、这个等等),但没有找到一个相同的问题或适合的解决方案。

我似乎设置了正确的权限。无论是在Rails应用上还是当用户通过iPhone应用进行身份验证时,我都将< code>user_friends设置为权限之一,事实上,当有人现在注册时,它会要求他们确认用户朋友权限。

但当我真正请求他们的朋友时,我得到了一个回复,告诉我有很多朋友,但一个也没有回复。下面的回答是针对一个在应用程序上肯定有朋友的用户的。

{
  "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)应用ID/用户ID/访问令牌似乎是正确的,因为我可以获得基本的配置文件信息,b)我没有收到错误信息,告诉我请求没有适当的权限。如果我在资源管理器上没有权限发出类似的请求,它会返回相关的调试注释:

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

如果我在资源管理器中使用正确的权限进行设置,它将返回一个朋友列表(在数据数组中)。

所以看起来不是权限问题,而是请求返回了一个空的好友列表。有什么想法吗?

共有1个答案

司马庆
2023-03-14

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

问题是新的2.0 API版本只返回好友:

  1. 应用程序上的用户
  2. 他们自己同意user_friends权限

1已全部解决,但由于我仍在测试应用程序,而且还没有人接受权限,所以我的测试用户是唯一接受权限的人。没有其他人接受user_friends,因此没有人作为测试用户的朋友出现。让测试用户的朋友添加权限修复了问题,将该朋友添加到返回的朋友列表中。

 类似资料:
  • 我使用FBRequest请求用户的好友列表。 然而,请求返回的结果不包含任何数据。我打印出结果,它包含了朋友计数,但没有数据在里面。 如果请求失败或应用程序没有权限,它应该返回一个错误或“总数”也没有显示吗? 那我有做错什么吗?有人能帮我解决这个问题吗? 谢谢!!

  • 问题内容: 我正在尝试通过facebook sdk获取信息,但到目前为止,我只获得用户的ID和名称,尽管我确定有可用的电子邮件,因为这是我的帐户。我一直在这里看几个答案,但到目前为止,没有一个解决我的问题。我在做什么错,为什么在我请求多个权限时它不返回更多数据? 这是我的代码: 以及获取用户数据的功能: 哪个返回: 问题答案: 自Graph-API版本2.4(Pod版本4.4.0)以来,Faceb

  • 从Gmail的电子邮件附件上载到Google Drive: 朋友们大家好,如果我删除文件目录中的token.pickle和token_drive.pickle文件(这些文件是与google cloud分开创建的)并运行代码: ”ResumableUploadError: 这似乎是Gmail和Drive同时身份验证的问题,因为media\u body和file\u元数据返回一个值,但我无法解决这个问

  • 我将只同意graph API中的特定管理权限。 但它请求所有租户权限。 当前逻辑为 如何请求对特定权限的同意?

  • 我正在使用脸书SDK 4.20来获得所有的朋友。目前我正在使用下面的代码来得到相同的结果: 使用上面的代码,我只得到那些当前正在使用我的应用程序的朋友的列表。我的朋友列表中共有458个朋友,但使用上面的代码,我从列表中只得到了2个朋友,他们目前正在使用/注册使用Facebook的应用程序。 有没有人能帮帮我,我哪里出问题了?我还能做什么才能把所有的458个好友都弄到手? 我知道与此相关的问题已经在

  • 我在尝试hadoop(Java版本)中的mapreduce程序,从json文件中查找共同的朋友列表。json文件内容具有以下模式: 模式解释如下: friend json选项卡,由相关friends json的数组分隔 因此abc将xyz、def和cxf作为朋友cxf将xyz abc和yyy作为朋友。 综上所述,abc和cxf的共同好友是xyz。 尝试通过创建自定义可写文件来实现相同的使用mapd