Twitter APIを取得してツイートする際のエラー(tweepy.errors.Unauthorized: 401 Unauthorized)
やりたいこと、現状
・Pythonを使用してTwitterAPIを実行し、botでツイートを実施したい
・以下に記載の手順で実行するもエラー発生
・Pythonは公式サイトからインストールし、コマンドプロンプトでtweepyのみインストール済
[環境]
Python:4.3.0(tweepyインストール済)
VScode:1.48.2
該当するソースコード
import tweepy
CONSUMER_KEY = 'XXX'
CONSUMER_SECRET = 'XXX'
ACCESS_TOKEN = 'XXX'
ACCESS_SECRET = 'XXX'
client = tweepy.Client(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_SECRET)
client.create_tweet(text="テスト")
コードはググったら出てくるような汎用的なものです。
実行すると初めに以下のエラーが発生しました。
AttributeError: 'Client' object has no attribute 'create_tweet'
こちらは以下の方の記事を参考にしてPythonのバージョンを4.3.0に上げました。
上げすぎると不具合があるとの記事も拝見したため一旦このバージョンにしています。
https://qiita.com/msymacromill/items/bf6a9081ca0446f34b29
Traceback (most recent call last):
File "c:/~略~/Python/bot_test.py", line 9, in <module>
client.create_tweet(text="テスト")
File "C:\~略~\client.py", line 522, in create_tweet
return self._make_request(
File "C:\~略~\client.py", line 165, in _make_request
response = self.request(method, route, params=request_params,
File "C:\client.py", line 121, in request
raise Unauthorized(response)
tweepy.errors.Unauthorized: 401 Unauthorized
上部のエラーが複雑そうだったので、「tweepy.errors.Unauthorized: 401 Unauthorized」の解決を図りました。
するとこちらの記事のように「権限周りの問題でReadOnlyになっている」ことが原因と分かりましたが、TwitterDevelopersでTwitterAPIを申請した時点で「Read and write and Direct message」まで権限を上げた状態で各種キー発行も行っているため、他の理由が分からず困っております。。。
(例えばtweepy以外にインストールが必要なものがあるとか?)
https://www.sassy-blog.com/entry/2022/02/21/223016#tweepyerrorsUnauthorized-401-Unauthorized
上部のエラーについても切り取って検索してみましたが「バージョンによって動作が異なる」等の記事が多く事象の切り分けや解決に繋がらずで、ご存じの方がいらっしゃれば是非ご教示いただけませんでしょうか。
よろしくお願いいたします。
※備考
ざっくりな情報で申し訳ありませんが、api.update_statusを使用した書き方(Twitter API V1.1)はTwitterDevelopersの権限?が高いEssentialレベル人しか使えないという情報を見たためclient.create_tweetを使用して書いています(Twitter API V2)。
https://qiita.com/penguinprogrammer/items/b220be0c203eaaad015a