如何使用Requests从Python连接Facebook Graph API而不需要用户访问令牌?
我想找一个最简单的方法,使用我最喜欢的Requests库来使用Facebook的Graph API。问题是,我找到的所有例子都是关于获取用户访问令牌的,涉及重定向和用户交互。
我只需要应用访问令牌。因为我不处理任何非公开的数据,所以不需要用户交互。而且我的最终应用是一个命令行脚本,所以也不需要重定向。
我在这里找到了一些类似的内容,但看起来一点也不优雅。此外,我更希望能找到使用Requests或Requests-OAuth2的例子。或者说有没有相关的库呢?我找到过Requests-Facebook和Facepy(都是基于Requests的),但同样,所有的例子都涉及重定向等等。Facepy根本不处理授权,它只是接受你的令牌,获取令牌的方式就得靠你自己了。
能不能请大家提供一个简短、合理、有效的例子,教我如何获取应用访问令牌呢?
2 个回答
1
如果你只需要一个快速的小请求,可以手动从这里复制访问令牌,然后粘贴到你的代码里:https://developers.facebook.com/tools/explorer
注意:和Richard Barnett的回答不同,每次使用时你都需要在图形API探索器里手动重新生成这个代码。
10
根据这个链接:https://developers.facebook.com/docs/technical-guides/opengraph/publishing-with-app-token/:
import requests
r = requests.get('https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=123&client_secret=XXX')
access_token = r.text.split('=')[1]
print access_token
(使用正确的 client_id
和 client_secret
的值)会给我一个看起来像是访问令牌的东西。