2015-10-17 95 views
1

我在python命令行中編寫了下面的代碼。python tweepy流式命令行結果401

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實時流輸出?

+0

401未經授權。 –

回答

0

此錯誤來自推特的Error Codes & Responses列表。 401表示:

該請求無效或無法以其他方式提供。伴隨的 錯誤信息將進一步解釋。在API v1.1中,沒有 身份驗證的請求被認爲是無效的,並會產生此響應。

實際上,這是因爲你的一個密鑰或令牌不正確,只需再次檢查它們,你應該很好。

從蟒蛇它是從下面這行代碼來:

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

status你從Twitter得到的是401,所以你看到401正在打印。