У меня ужасно тяжелые времена с аутентификацией / авторизацией Yahoo . Я включил BOSS в своей учетной записи, настроил способ оплаты и теперь пытаюсь выполнить поиск, используя некоторый код Python:
import urllib2
import oauth2 as oauth
import time
OAUTH_CONSUMER_KEY = "blahblahblah"
OAUTH_CONSUMER_SECRET = "blah"
def oauth_request(url, params, method="GET"):
params['oauth_version'] = "1.0",
params['oauth_nonce'] = oauth.generate_nonce(),
params['oauth_timestamp'] = int(time.time())
consumer = oauth.Consumer(key=OAUTH_CONSUMER_KEY,
secret=OAUTH_CONSUMER_SECRET)
params['oauth_consumer_key'] = consumer.key
req = oauth.Request(method=method, url=url, parameters=params)
req.sign_request(oauth.SignatureMethod_HMAC_SHA1(), consumer, None)
return req
if __name__ == "__main__":
url = "http://yboss.yahooapis.com/ysearch/web"
req = oauth_request(url, params={"q": "cats dogs"})
req_url = req.to_url()
print req_url
result = urllib2.urlopen(req_url)
Я все время получаю urllib2.HTTPError: HTTP Error 401: Unauthorized
исключение. Я не могу понять, что не так с моим ключом или методом подписи, или я каким-то образом подделываю свои данные после подписания, или в чем заключается сделка. У кого-нибудь есть предложения?