0
我正试图将应用程序与Yahoo! api需要oauth认证来访问受保护的数据。在Yahoo!中使用OAuth API请求(Python)
我使用的是python-oauth2,以下列出了雅虎的Oauth Authorization Flow文档中列出的步骤。我已经能够完成所有步骤来与雅虎协商访问令牌,但似乎无法使用token to authenticate。
这里是我的代码:“请提供有效凭据的OAuth oauth_problem =”
import oauth2 as oauth
def list_users(token):
# token is the access token i save in the DB
oauth_token = oauth.Token(token.token, token.secret)
consumer = oauth.Consumer(key=settings.OATH_CONSUMER_KEY,
secret=settings.OATH_SECRET)
client = oauth.Client(consumer, oauth_token)
resp, content = client.request((LIST_USERS_URL), "GET")
return content
然而,所有我能得到的回复是一个错误信息,说signature_invalid“境界=” yahooapis。 com“”
我在这里做错了什么?到目前为止,其他一切都很顺利。
在调用https://api.login.yahoo.com/oauth/v2/request_auth?之前,您是否运行了“https:// api.login.yahoo.com/oauth/v2/get_request_token”过程?并最终前往'https:// api.login.yahoo.com/oauth/v2/get_token'获取实际的access_token?一个常见的问题是混淆request_token作为access_token。 –
是的,我得到请求令牌和访问令牌并使用访问令牌进行验证。 – Cory
如果access_token没问题,唯一的小错误就是在'resp,content = client.request(LIST_USERS_URL),“GET”)中缺少一个“(”。最后要检查的是[应用范围](http://developer.yahoo.com/oauth/guide/oauth-scopes.html),注册期间它是否正确? –