python tweepy streaming命令行结果401

时间:2015-10-17 20:59:31

标签: python python-3.x output tweepy

我在python命令行中编写了以下代码。

from __future__ import absolute_import, print_function
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

consumer_key="***"
consumer_secret="***"
access_token="***"
access_token_secret="***"

class StdOutListener(StreamListener):
""" A listener handles tweets are the received from the stream.
This is a basic listener that just prints received tweets to stdout.
"""
def on_data(self, data):
    print(data)
    return True

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

if __name__ == '__main__':
    l = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)

    stream = Stream(auth, l)
    stream.filter(track=['basketball'])

然而,结果总是只是' 401'。没有任何错误消息。它是什么意思?我需要做什么才能获得Twitter实时流输出?

1 个答案:

答案 0 :(得分:0)

此错误来自twitter的Error Codes & Responses列表。 401表示:

  

请求无效或无法以其他方式提供。随行   错误信息将进一步解释。在API v1.1中,请求没有   身份验证被视为无效,并将产生此响应。

本质上是因为你的一个钥匙或钥匙是不正确的,只需仔细检查它们就应该很好。

来自python,它来自这行代码:

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

你从twitter获得的status是401,所以你看到401被打印。