使用api v1.1的单用户OAuth错误

时间:2013-01-18 17:56:17

标签: python twitter

我在使用Twitter api进行身份验证时遇到问题。我在Python中使用oauth2模块进行单个用户登录。

我一直在使用以下功能来请求关注者ID:

import oauth2 as oauth

def oauth_req(url, key, secret, http_method="GET", post_body=None, http_headers=None):
    consumer = oauth.Consumer(key=key, secret=secret)
    token = oauth.Token(key=key, secret=secret)
    client = oauth.Client(consumer, token)
    resp, content = client.request(
        url,
        method=http_method,
    )
    return content

然后我会按照以下示例从文档调用twitter_auth.py运行它:

ids = twitter_auth.oauth_req('https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=marksandspencer', 'CONSUMER_KEY', 'CONSUMER_SECRET')

然后返回以下内容:
    “{”错误“:[{”message“:”无效或过期令牌“,”代码“:89}]}'

我似乎无法让它工作,我的申请细节很好而且没有过期 - 所以我认为他们可能在某种程度上无效 - 我只是无法弄清楚如何。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您传入了CONSUMER_KEY和CONSUMER_SECRET,但没有传递TOKEN_KEY和TOKEN_SECRET,因此您的令牌变量使用与您的使用者相同的凭据。访问令牌凭证需要通过您的代码或在Twitter网站上手动请求。