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

questionAnswers(2)

yourAnswerToTheQuestion