如何在python中扩展我的facebook图形API令牌?

时间:2014-10-27 18:58:07

标签: python facebook facebook-graph-api

我目前正在使用python挖掘facebook。到目前为止,我通过这个网站获得了图形API版本1.0的访问令牌(我需要它为1.0):

https://developers.facebook.com/tools/explorer/?method=GET&path=me&version=v1.0

但是我在这个网站上获得的令牌在大约1小时后到期,那么如何在python中扩展这个令牌呢?我已经看过如何使用php,但是,不幸的是,我必须坚持使用python来实现我的项目

1 个答案:

答案 0 :(得分:3)

Facebook有4种类型的令牌:用户,应用,页面和客户端(https://developers.facebook.com/docs/facebook-login/access-tokens#usertokens)。每种令牌类型都有自己的权限。例如,您可以使用应用访问令牌代表用户(一旦他们授予您权限)发布,但需要用户访问令牌来提取用户/状态。 Web用户访问令牌是短暂的(约1-2小时),需要转换为长期(60天)访问令牌。

在python中,你可以扩展令牌服务器端调用GraphAPI extend_access_token方法,假设你使用的是facebook-sdk(pip install facebook-sdk)。

views.py:

import facebook

user_access_token = 'USER_ACCESS_TOKEN' # initially generated client-side
app_id = 'YOUR_UNIQUE_APP_ID' # found at developer.facebook.com
app_secret = 'YOUR_APP_SECRET' # found at developer.facebook.com

# Create fb graph object
graph = facebook.GraphAPI(user_access_token)

# Now extend it with the extend_access_token method
extended_token = graph.extend_access_token(app_id=app_id, app_secret=app_secret)

# Confirm token now expires in ~ 60 days or 5184000 seconds
print extended_token

现在扩展了令牌,您可以代表用户存储和使用活动的Web客户端。