盒子 API 通过 python 获得 access_token
Box API get access_token through python
在此先感谢您的帮助。我正在通过自述文件页面上的这个网站获取授权码:https://app.box.com/api/oauth2/authorize?response_type=code&client_id=MY_CLIENT_ID&state=security_token%3DKnhMJatFipTAnM0nHlZA
POST access_token 到 python。但是收到 invalid_request 错误。与我通过邮递员尝试的结果相同。
附上我的代码和错误信息,我是不是理解错了什么?
url = 'https://api.box.com/oauth2/token'
payload = {'grant_type':'authorization_code','code':auth_code,'client_id':'ID','client_secret':'SECRET'}
r = requests.post(url, data=json.dumps(payload))
json_r = r.json()
print json_r
错误信息:
{
"error": "invalid_request",
"error_description": "Invalid grant_type parameter or parameter missing"
}
问题是当 requests.post
函数的 data
参数需要普通字典时,您将 POST 有效负载编码为 JSON 字符串。
所以只要这样做就可以了:
r = requests.post(url, data=payload)
在此先感谢您的帮助。我正在通过自述文件页面上的这个网站获取授权码:https://app.box.com/api/oauth2/authorize?response_type=code&client_id=MY_CLIENT_ID&state=security_token%3DKnhMJatFipTAnM0nHlZA
POST access_token 到 python。但是收到 invalid_request 错误。与我通过邮递员尝试的结果相同。 附上我的代码和错误信息,我是不是理解错了什么?
url = 'https://api.box.com/oauth2/token'
payload = {'grant_type':'authorization_code','code':auth_code,'client_id':'ID','client_secret':'SECRET'}
r = requests.post(url, data=json.dumps(payload))
json_r = r.json()
print json_r
错误信息:
{
"error": "invalid_request",
"error_description": "Invalid grant_type parameter or parameter missing"
}
问题是当 requests.post
函数的 data
参数需要普通字典时,您将 POST 有效负载编码为 JSON 字符串。
所以只要这样做就可以了:
r = requests.post(url, data=payload)