我在使用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}]}'
我似乎无法让它工作,我的申请细节很好而且没有过期 - 所以我认为他们可能在某种程度上无效 - 我只是无法弄清楚如何。
提前致谢。
答案 0 :(得分:2)
您传入了CONSUMER_KEY和CONSUMER_SECRET,但没有传递TOKEN_KEY和TOKEN_SECRET,因此您的令牌变量使用与您的使用者相同的凭据。访问令牌凭证需要通过您的代码或在Twitter网站上手动请求。