前提・実現したいこと
tweepyを用いて,自分のフォロワーかつメンションをしてきたアカウントにリアルタイムで反応し,リプライを送りたいです.
上記を一気に実装するのは難しそうなので,まずは,フォロワーの特定の言葉を含むツイートをstreamを用いてリアルタイムにリツートできるようにすることを目指します.
ググりながら以下のようなコードを作成しましたが,エラーがでてしまいます.
このエラーを解決して上記の目標を達成したいです.
そもそも「Stream」を使うこと自体が間違っていれば,それも指摘していただけると嬉しいです.
python
1 2import tweepy 3 4 5consumer_key = ' ' 6consumer_secret = ' ' 7access_token_key = ' ' 8access_token_secret = ' ' 9 10auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 11auth.set_access_token(access_token_key, access_token_secret) 12api = tweepy.API(auth) 13screen_name = "私のアカウントのスクリーンネーム" 14 15# フォロワーのIDのリストを取得するメソッド 16def getFollowers_ids(Api, Id): 17 followers_ids = tweepy.Cursor(Api.get_follower_ids, id = Id, cursor = -1).items() 18 19 followers_ids_list = [] 20 for followers_id in followers_ids: 21 followers_ids_list.append(followers_id) 22 23 return followers_ids_list 24 25 26class MyStreamListener(tweepy.Stream): 27 def on_status(self, status): 28 if status.id in getFollowers_ids(api,screen_name): 29 print("id") 30 #RTする 31 api.retweet(id=status.id) 32 else: 33 print("失敗") 34 35def main(): 36 #それぞれのキーを入力 37 myStreamListener = tweepy.Stream('CONSUMER_KEY here', 38 'CONSUMER_SECRET here', 39 'ACCESS_TOKEN here', 40 'ACCESS_SECRET here') 41 #ABCという単語に反応することにした 42 myStreamListener.filter(track=["ABC"], threaded=True)
発生している問題・エラーメッセージ
プログラム自体は動くのですが定期的に「Stream encountered HTTP error: 401」のエラーをはくだけです.
Stream encountered HTTP error: 401 Stream encountered HTTP error: 401 Stream encountered HTTP error: 401 Stream encountered HTTP error: 401 Stream encountered HTTP error: 401 Stream encountered HTTP error: 401
試したこと
ググってみましたが,「Stream」ではなく,古いリアルタイム取得の「StreamListener」や「userstream」の資料ばかりで困っております.
これは近そうですが,何を言っているのかわかりませんでした,,,
https://stackoverflow.com/questions/28412683/401-error-when-retrieving-twitter-data-using-tweepy
TwitterDeveloperで権限を確認しましたが,ReadとWriteの権限はありました.
補足情報(FW/ツールのバージョンなど)
Python 3.9.12
tweepy 4.6.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。