前提・実現したいこと
tweepyを用いて,自分のフォロワーかつメンションをしてきたアカウントにリアルタイムで反応し,リプライを送りたいです.
上記を一気に実装するのは難しそうなので,まずは,フォロワーの特定の言葉を含むツイートをstreamを用いてリアルタイムにリツートできるようにすることを目指します.
ググりながら以下のようなコードを作成しましたが,エラーがでてしまいます.
このエラーを解決して上記の目標を達成したいです.
そもそも「Stream」を使うこと自体が間違っていれば,それも指摘していただけると嬉しいです.
python
import tweepy consumer_key = ' ' consumer_secret = ' ' access_token_key = ' ' access_token_secret = ' ' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token_key, access_token_secret) api = tweepy.API(auth) screen_name = "私のアカウントのスクリーンネーム" # フォロワーのIDのリストを取得するメソッド def getFollowers_ids(Api, Id): followers_ids = tweepy.Cursor(Api.get_follower_ids, id = Id, cursor = -1).items() followers_ids_list = [] for followers_id in followers_ids: followers_ids_list.append(followers_id) return followers_ids_list class MyStreamListener(tweepy.Stream): def on_status(self, status): if status.id in getFollowers_ids(api,screen_name): print("id") #RTする api.retweet(id=status.id) else: print("失敗") def main(): #それぞれのキーを入力 myStreamListener = tweepy.Stream('CONSUMER_KEY here', 'CONSUMER_SECRET here', 'ACCESS_TOKEN here', 'ACCESS_SECRET here') #ABCという単語に反応することにした 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
まだ回答がついていません
会員登録して回答してみよう