2013-01-18 51 views
1

我在使用Twitter API进行身份验证时遇到问题。我在Python中使用oauth2模块来执行单个用户登录。api v1.1的单用户OAuth错误

我一直在使用下面的函数来请求跟随IDS:

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”:“无效或过期的标记”,“代码”:89}]}'

我似乎无法获取它的工作原理,我的应用程序细节都很好,没有过期 - 所以我假设他们可能会以某种方式失效 - 我只是不能解决问题。

在此先感谢。

回答

2

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