Recupere el token de acceso para la API de Yahoo usando las solicitudes de OAuth 2.0 y Python

Estoy tratando de recuperar el token de acceso para la API de Yahoo, usando el flujo de concesión explícito como se describe en este documento:https://developer.yahoo.com/oauth2/guide/flows_authcode

Todo esta bien hastaPaso 4: código de autorización de Exchange para el token de acceso

Escribí el siguiente script de Python para recuperar el código:

import urllib2
import requests
import json



url = 'https://api.login.yahoo.com/oauth2/get_token'
body = "grant_type=authorization_code&redirect_uri=oob&code=************"
headers = {
'Authorization': 'Basic **************', 
'Content-Type': 'application/json'
}

r = requests.post(url, data=body, headers=headers)
print r

Nota: Reemplacé datos confidenciales con "****"

Ahora, cuando ejecuto el script, solo recibo el mensaje de error "401".

Estoy 100% seguro de que las credenciales de inicio de sesión están bien, por lo que parece estar relacionado con la forma en que hago la solicitud. También es la primera vez que estoy usando "solicitudes" en Python.

Sería genial si pudiera darme algunos comentarios sobre el código, y si estoy pasando la información del encabezado y el cuerpo correctamente. Estoy especialmente inseguro sobre el paso del cuerpo. La documentación solo establece lo siguiente:

Ejemplo de cuerpo de solicitud: grant_type = autorización_código & redirect_uri = https% 3A% 2F% 2Fwww.example.com & code = abcdef

Respuestas a la pregunta(2)

Su respuesta a la pregunta