所以这应该很简单,但我似乎无法找到我的失败点。希望其他人可以向我指出。
首先我转到https://github.com/login/oauth/authorize?client_id=CLIENT_ID&scope=gist
,这会向我返回一个代码。然后我这样做:
import requests, json
client_id = XXXX
client_secret = XXXX
code = XXXX
r = requests.post(
'https://github.com/login/oauth/access_token',
data=json.dumps({
'client_id':client_id,
'client_secret':client_secret,
'code':code
})
r.content # this gives me a 404 header
当我转到我的测试用户时,它会将我显示为已授权,而我的应用显示为拥有一个用户,但我没有访问令牌。
我做错了什么。
答案 0 :(得分:12)
嗯,我说得对,这是一个非常简单的问题,但是我会把它留在这里,因为其他人遇到了同样的错误。
如有疑问,请手动定义标题。所以你需要:
header = {'content-type':'application/json'}
然后传入标题:
r = requests.post(
'https://github.com/login/oauth/access_token',
data=json.dumps({
'client_id':client_id,
'client_secret':client_secret,
'code':code
}),
headers=header
)
对我来说,这解决了这个问题。