知晓云开发api 如何用python进行oauth2 认证
希望用python requests操作知晓云的开放api,但是总是失败,求大神解惑。
这是他们的js示例:
https://doc.minapp.com/open-a...
var request = require('request');
// 获取 code
var opt = {
uri: 'https://cloud.minapp.com/api/oauth2/hydrogen/openapi/authorize/',
method: 'POST',
json: {
client_id: 'a4d2d62965ddb57fa4xx',
client_secret: 'e5802b40135baab9b4e84e35bed058a264c37dxx'
},
jar: true, // 允许记住 cookie
followAllRedirects: true, // 允许重定向
}
request(opt, function(err, res, body) {
getToken(body.code) // 回调调用 getToken 函数
})
// 获取 token
function getToken(code) {
var opt = {
uri: 'https://cloud.minapp.com/api/oauth2/access_token/',
method: 'POST',
formData: { // 指定 data 以 "Content-Type": "multipart/form-data" 传送
client_id: 'a4d2d62965ddb57fa4xx',
client_secret: 'e5802b40135baab9b4e84e35bed058a264c37dxx',
grant_type: 'authorization_code',
code,
}
}
request(opt, function(err, res, body) {
let token = JSON.parse(body).access_token
})
}
这是我的python代码:
import requests
import json
client_id = '谢谢谢谢'
client_secret = '非常感谢'
r = requests.post('https://cloud.minapp.com/api/oauth2/hydrogen/openapi/authorize/', json={"client_id": client_id, "client_secret": client_secret})
code = json.loads(r.content)["code"]
print code
#code可以正常获取
headers = {'Content-Type': 'multipart/form-data'}
payload = {"client_id":client_id,'client_secret':client_secret, 'grant_type' : 'authorization_code', 'code' : code}
r = requests.post("https://cloud.minapp.com/api/oauth2/access_token/", headers=headers, data=payload)
print r.content
不知道为啥总是返回400
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
400是客户端错误,bad request,估计和cookie有关。
您好,您这个问题解决了嘛?我最近也想弄弄知晓云这个open api 没想到第一步就卡住了。。。。。求方法