我正在尝试构建一个从雅虎 API 获取梦幻体育信息的网络应用程序。我知道它需要使用 OAuth 才能与 API 对话。它是使用 Flask 创建的,将在 Google App Engine 上运行。
我一直在尝试使用 SimpleGeo 的人员提供的 python-oauth2,并且在尝试进行开发工作时一直遇到同样的错误。这是一段代码:
import oauth2 as oauth
consumer = oauth.Consumer(key=settings.OAUTH_CONSUMER_KEY, secret=settings.OAUTH_SHARED_SECRET)
request_token_url = "https://api.login.yahoo.com/oauth/v2/get_request_token"
client = oauth.Client(consumer)
resp, content = client.request(request_token_url, "GET")
这是我得到的错误响应:
{'status': '401', 'transfer-encoding': 'chunked', 'connection': 'close', 'date': 'Tue, 2010 年 10 月 26 日 18:24:16 GMT', 'p3p': ' policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"', 'content-type': 'application/x-www-form-urlencoded', 'www-authenticate': 'OAuth oauth_problem=consumer_key_rejected'}
现在,我已经阅读了可通过 Yahoo 获得的文档,我感到很困惑,因为 (a) 它看起来很简单,并且 (b) 我不知道我哪里出错了。我正在使用雅虎提供给我的消费者密钥和共享密钥。
这是我第一次使用 OAuth,任何帮助都将不胜感激。