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

テスト ユーザーにアクセスすると、承認済みとして表示され、アプリには 1 人のユーザーが表示されますが、アクセス トークンがありません。

私は何を間違っていますか。

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 に答える