Facebook graph api 如何获取非当前会话用户的好友列表?

Facebook graph api 如何获取非当前会话用户的好友列表?,facebook-graph-api,Facebook Graph Api,我已经读过facebook api了 我尝试使用非当前会话请求好友列表,如下所示: 一,。通过我的应用获取访问令牌 ?? 客户id=您的应用id和客户机密=您的应用机密和授权类型=客户凭据 我确实获得了访问令牌。如下图所示: access_token=1234567890 |-abcdefghijkl 二,。使用访问令牌请求好友列表 https://graph.facebook.com/1023456789/friendlists?access_token=1234567890|-abcde

我已经读过facebook api了

我尝试使用非当前会话请求好友列表,如下所示:


一,。通过我的应用获取访问令牌

?? 客户id=您的应用id和客户机密=您的应用机密和授权类型=客户凭据

我确实获得了访问令牌。如下图所示:

access_token=1234567890 |-abcdefghijkl

二,。使用访问令牌请求好友列表

https://graph.facebook.com/1023456789/friendlists?access_token=1234567890|-abcdefghijkl

但是,已收到以下错误消息

{
   "error": {
      "message": "A user access token is required to request this resource.",
      "type": "OAuthException",
      "code": 102
   }
}
ID不是当前用户会话。如您所知,如果使用当前用户会话。我可以毫无问题地获得朋友列表

https://graph.facebook.com/me/friends?access_token=1234567890|-abcdefghijkl

我的问题可以概括如下:


如何使用非当前会话的用户ID获取好友列表?我想当我获得accesstoken时必须获得friendlists许可。如果正确的话。如何做到这一点?

当用户验证您的应用程序时,您需要向其请求
阅读好友列表
权限。而且,要阅读好友列表,您需要一个用户访问令牌,而不是应用程序访问令牌。显然,相关用户的访问令牌


此时,您有1-2个小时的时间等待他们的访问令牌过期。在此期间,您可以访问用户的好友列表。令牌过期后,您需要等待,直到他们再次登录。或者,您可以查看。

假设您获得的访问令牌是一个用户被重定向到FB登录页面并重定向回您的应用程序,然后继续阅读的令牌

文档可能有点混乱。声明:

当用户登录到您的应用程序,而您不请求任何其他 权限,应用程序将只能访问用户的公共 个人资料和朋友列表

如果不将文档专门挖掘到权限列表中,人们可能会认为当
read\u friendlist
添加到
范围中时,用户的朋友列表将可用,但不会可用。明确指出,阅读Facebook用户的好友列表需要
扩展权限

因此,您需要添加
read_friendlist
作为您的范围之一。以下是一个示例请求:

https://www.facebook.com/dialog/oauth?type=user_agent
    &client_id=YOUR_FB_APPID
    &redirect_uri=YOUR_DOMAIN
    &scope=read_friendlists

如何添加
read\u好友列表
URI?我正在用谷歌搜索它。但失败。请查看我的更新答案。顺便问一下,您是否使用了任何SDK(例如jsd SDK)?