必须使用Facebook API GraphAPIError活动访问令牌

时间:2016-01-10 13:23:40

标签: python ajax facebook facebook-graph-api

我试图通过我的Facebook画布应用程序的Ajax(RPC)调用获取一些用户信息。

由于我正在使用facebook API for python,我先得到signed_request:

signed_request = utility.parse_signed_request(self.request.get('signed_request'),FACEBOOK_APP_SECRET)

我交换了令牌,并将访问令牌放在当前会话中:

def get_long_lived_access_token(self, EXISTING_ACCESS_TOKEN):
    url = "https://graph.facebook.com/oauth/access_token?client_id="
    url += FACEBOOK_APP_ID
    url += "&client_secret="
    url += FACEBOOK_APP_SECRET
    url += "&grant_type=fb_exchange_token&fb_exchange_token="
    url += EXISTING_ACCESS_TOKEN
    response = urllib2.urlopen(url).read()
    self.session['oauth_token'] = response

如果我调用facebook API(在交换前使用访问令牌):

graph = facebook.GraphAPI(signed_request['oauth_token'])
me = graph.get_object("me")

它工作得很好,但如果我尝试在Ajax调用期间创建图形(两者都使用短期交换访问令牌):

graph = facebook.GraphAPI(self.session['oauth_token'])
me = graph.get_object("me")

它给了我一个错误:

GraphAPIError: An active access token must be used to query information about the current user.

我还检查了https://graph.facebook.com/me?access_token=xxxxxxxxxxxxxxxxx中交换的访问令牌有效性 它是一个有效的访问令牌。

在Ajax调用期间,如何让用户访问图形对象?

0 个答案:

没有答案