1

我在使用 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')

然后它只返回以下内容:
'{"errors":[{"message":"Invalid or expired token","code":89}]}'

我似乎无法让它工作,我的应用程序详细信息很好并且没有过期 - 所以我假设它们可能在某种程度上是无效的 - 我只是无法弄清楚如何。

提前致谢。

4

1 回答 1

2

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

于 2013-01-30T06:20:02.500 回答