通过向facebook提出长期访问令牌请求,我成功收到了回复.. 我向 - 提出了要求 - https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=5096586391&client_secret=4201c4b846d3be4a9fe44&fb_exchange_token=CAAHPiCYlSlMByTFMCY4Er1Yzs1HrOzwpdZCU1VVpdKlvkUg6Rab1KUpFZBYfYNvk7lq0rsWzJjdXnUKFqjMiklxGcoRVjlKmb5fRr51N7Hp7Mpm4Fui0LALXp8ZCSPoN1c9mUN15Gm6BW5rmfdkPW9F1mGgxNZB1kI85TMqgTpEcW1ZCOW7ZB9MaYzmorx8g30N9JwZD
得到回应 - =的access_token&CAAHPiCYlSlMBVxXSx29aMW6K2E6ol8xISfzoiZAEvJnhiBgPB2BTzCMTZCIlSKaiZCnJny0XP9fLm73DU4EWJDrldEwYzW0ZAcILVm5S7D2wM6y0Nf68tWUMZCrZCdwFIKqilFS9wDXlYebYpQMyfDtCcH2kfHfQZBKMGMIGeEZA26xJeQvp0d1MMlgsVSy放大器;期满= 5182755
现在我如何从上面的http响应中获取access_token和expires的值 我正在使用django并使用'requests'库发出请求。 我无法在json中转换它
答案 0 :(得分:0)
使用response.json()
获取access_token
和expires
的值。
requests
库中的builtin-JSON decoder返回响应的json编码内容(如果有)。
我们将对从Facebook API收到的回复发送.json()
。这将为我们提供一个字典,其中包含响应的json编码内容。现在,我们将在字典中为键access_token
和expires
执行查找。
您可以执行以下操作:
import requests
response = requests.<method_name>('https://graph.facebook.com/...') # get the response
json_response = response.json() # Returns the json-encoded content of a response in a dictionary
access_token = json_response['access_token'] # lookup the value of `access_token` in the dictionary
expires = json_response['expires'] # lookup the value of `expires` in the dictionary
编辑:这适用于API版本&gt; = 2.3(感谢@CBroe)
在v2.3中,所有Graph API响应现在都将有效的空数组序列化 JSON格式。
[Oauth访问令牌]格式 - 的响应格式 你https://www.facebook.com/v2.3/oauth/access_token回来了 交换
access_token
的代码现在返回有效的JSON而不是 正在进行URL编码。此响应的新格式为{“access_token”: <TOKEN>, “token_type”:<TYPE>, “expires_in”:<TIME>}
。我们成功了 更新以符合RFC 6749的5.1节。
适用于API版本&lt; 2.3:
access_token
的响应格式将进行网址编码。您必须解析已编码的网址,并从@CBroe中提取access_token
。