5

Tweepyを不適切に使用しているときに、以前作業していたTwitterストリームにアクセスしようとしています。Tweepyの使用目的が理解できたので、次のStream.pyモジュールを作成しました。実行すると、認証が拒否されたことを示すエラーコード401が表示されます。しかし、私は以前に同じ消費者トークンとシークレットで動作させました。何か案は?

from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
from tweepy import TweepError
from tweepy import error

#Removed. I have real keys and tokens
consumer_key = "***" 
consumer_secret = "***"
access_token="***"
access_token_secret="***"

class CustomListener(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_status(self, status):
        # Do things with the post received. Post is the status object.
        print status.text
        return True

    def on_error(self, status_code):
        # If error thrown during streaming.
        # Check here for meaning: 
        # https://dev.twitter.com/docs/error-codes-responses
        print "ERROR: ",; print status_code
        return True

    def on_timeout(self):
        # If no post received for too long
        return True

    def on_limit(self, track):
        # If too many posts match our filter criteria and only a subset is
        # sent to us
        return True

    def filter(self, track_list):
        while True:
            try:
                self.stream.filter(track=track_list)
            except error.TweepError as e:
                raise TweepError(e)

    def go(self):
        listener = CustomListener()
        auth = OAuthHandler(consumer_key, consumer_secret)
        self.stream = Stream(auth,listener,timeout=3600)
        listener.filter(['LOL'])

if __name__ == '__main__':
    go(CustomListener)
4

1 に答える 1

3

同じ問題が発生した場合は、認証が初期化された後に次の行を追加する必要があります。

auth.set_access_token(access_token, access_token_secret)
于 2012-09-28T20:25:57.830 に答える