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

时间:2012-05-07 20:48:28

标签: python facebook sdk 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 

似乎我只得到一个App令牌。因此,当调用通知表时,我将收到“102:请求此资源需要用户访问令牌”

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

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

由于 Ñ

1 个答案:

答案 0 :(得分:13)

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

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

问题在于访问令牌是一个短暂的(几个小时),如果你需要更长的时间我建议你创建一个只会实现Server-Side authentication的画布应用程序使用长期令牌(60天),然后你可以坚持使用它并在那个时候使用它。