4

所以这应该很简单,但我似乎找不到我的失败点。希望其他人可以向我指出。

首先我去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

当我转到我的测试用户时,它显示我已授权,我的应用程序显示为有一个用户,但我没有访问令牌。

我究竟做错了什么。

4

1 回答 1

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
)

对我来说,这解决了问题。

于 2012-04-07T21:58:50.660 回答