我正在尝试将应用程序与Yahoo!集成api,需要oauth身份验证才能访问受保护的数据。
我正在使用python-oauth2并按照雅虎Oauth Authorization Flow文档中列出的步骤进行操作。我已经能够完成与Yahoo协商访问令牌的所有步骤,但似乎无法使用token to authenticate。
这是我的代码:
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
但是,我能够取回的是一条错误消息,上面写着“请提供有效的凭据.OAuth oauth_problem =”signature_invalid“,realm =”yahooapis.com“”
我在这里做错了什么?到目前为止,其他所有工作都顺利进行。
答案 0 :(得分:0)
我觉得有点羞怯。因此,当您访问无效的API调用时,雅虎也会抛出这个确切的错误。所以在我的情况下,当我必须指定一个子API时,我正在访问一个根API。故事的道德:请注意,oauth错误可能代表您的应用程序/代码中的其他问题。