401使用Tweepy检索Twitter数据时出错

时间:2015-02-09 14:59:24

标签: python twitter tweepy

我正在尝试使用Tweepy检索Twitter数据,使用下面的代码,但我返回401错误,我重新生成访问和秘密令牌,并出现相同的错误。

#imports
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener

#setting up the keys
consumer_key = 'xxxxxxx'
consumer_secret = 'xxxxxxxx' 
access_token = 'xxxxxxxxxx'
access_secret = 'xxxxxxxxxxxxx'

class TweetListener(StreamListener):
# A listener handles tweets are the received from the stream.
#This is a basic listener that just prints received tweets to standard output

   def on_data(self, data):
       print (data)
       return True

   def on_error(self, status):
       print (status)



#printing all the tweets to the standard output
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)



stream = Stream(auth, TweetListener())

t = u"#سوريا"
stream.filter(track=[t])

5 个答案:

答案 0 :(得分:9)

只需重置系统的时钟。

如果要求进行身份验证的API请求来自声称时间超过Twitter时间15分钟的服务器,则会因401错误而失败。

THANKYOU

答案 1 :(得分:4)

您可能在从-页面复制访问令牌时犯了一个错误。

您需要复制作为访问令牌提供的整个内容,而不仅仅是74376347-jkghdui456hjkbjhgbm45gj之后的字符串。

例如,复制并粘贴整个字符串,例如jkghdui456hjkbjhgbm45gj,而不仅仅是double d = (double)e.Value;

[注意上面的字符串只是我为了演示目的而随机输入的内容。你的实际访问令牌也会看起来像这样,即 "一串数字 - 一个字母数字字符串"]

答案 2 :(得分:1)

我遇到了同样的问题 - 这里没有任何解决方法。对我来说,诀窍是使用 Tweepy 流式传输推文显然需要 1A 身份验证,而不是 2A(请参阅 - https://github.com/tweepy/tweepy/issues/1346)。这意味着您需要在身份验证对象中使用访问令牌和消费者令牌。

import tweepy

# user credentials
access_token = '...'
access_token_secret = '...'

consumer_key = '...'
consumer_secret = '...'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

# this is the main difference
auth.set_access_token(access_token, access_token_secret)

stream = tweepy.Stream(auth, tweepy.StreamListener)

答案 3 :(得分:0)

你只需要在双引号中显示你的钥匙 并且您不必在上次Twitter身份验证中定义密钥。

glob()

答案 4 :(得分:0)

在我的情况下发生错误是因为我使用的是AppAuthHandler而不是OAuthHandler。切换到OAuthHandler解决了问题。