如何在Python中获取用户访问令牌

blo*_*tto 4 python sdk facebook token

我正在使用Facebook的非官方python sdk.这适用于很多图形api调用,但我最近的项目需要使用更多的FQL.某些表(例如通知)需要用户访问令牌而不是应用程序访问令牌.

使用时

graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_A??PP_SECRET&grant_type=client_credentials 
Run Code Online (Sandbox Code Playgroud)

好像我只得到一个App令牌.因此,当调用通知表时,我将收到"102:请求此资源需要用户访问令牌"

该项目根本不使用浏览器,主要用于验证通知和从其他应用程序生成的帖子.

在这种情况下,接收用户令牌的最佳方式是什么?

谢谢你

Nit*_*mer 13

如果没有使用facebook身份验证流程登录用户与您的应用程序的直接交互,您将无法获得用户访问令牌.没有用户可以获得的唯一令牌是应用程序令牌,您已经覆盖了它.

您可以手动创建用户令牌,我认为最简单的方法是使用Graph Explorer工具.只需在右上方选择您的应用程序,然后单击"获取访问令牌"按钮,您就可以检查所需的权限,然后生成的令牌将出现在文本框中,复制并使用它.

但问题是,访问令牌是一个短命的一个(几个小时),如果你需要一个较长的一个,我建议你创建一个画布应用程序,要实现的是服务器端身份验证,这将有一个长结束生活令牌(60天),然后你可以坚持它并在那个时候使用它.