Recuperar token de acesso para a API do Yahoo usando solicitações OAuth 2.0 e Python
Estou tentando recuperar o token de acesso para a API do Yahoo, usando o fluxo de concessão explícito, conforme descrito neste documento:https://developer.yahoo.com/oauth2/guide/flows_authcode
Está tudo bem atéEtapa 4: trocar código de autorização para o token de acesso
Eu escrevi o seguinte script python para recuperar o 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: substituí os dados confidenciais por "****"
Agora, quando executo o script, recebo apenas a mensagem de erro "401".
Tenho 100% de certeza de que as credenciais de login estão corretas, portanto parece estar relacionado à maneira como faço a solicitação. É também a primeira vez que estou usando "pedidos" em python.
Seria ótimo, se você pudesse me dar algum feedback sobre o código e se estou passando as informações do cabeçalho e do corpo corretamente. Estou especialmente insegura sobre a passagem do corpo. A documentação afirma apenas o seguinte:
Corpo da solicitação de amostra: grant_type = authentication_code & redirect_uri = https% 3A% 2F% 2Fwww.example.com & code = abcdef