oauth flow en github api v3 no funciona

Así que esto debería ser bastante simple, pero parece que no puedo encontrar mi punto de falla. Con suerte, alguien más puede señalarlo a mí.

Primero voy a https://github.com/login/oauth/authorize?client_id=CLIENT_ID&scope=gist y esto me devuelve un código. Entonces hago esto:

 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 

Cuando accedo a mi usuario de testing, me muestra como autorizado y mi aplicación muestra que tiene un usuario, pero no tengo un token de acceso.

Qué estoy haciendo mal.

Bueno, tenía razón, este era un problema realmente simple, pero dejaré esto aquí en caso de que otros encuentren el mismo error.

En caso de duda, defina manualmente su encabezado. Así que tú necesitas:

 header = {'content-type':'application/json'} 

Y luego pasa el encabezado:

 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 ) 

Para mí, esto resolvió el problema.