LoginSignup
tqwko_05
@tqwko_05

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Twitter APIを取得してツイートする際のエラー(tweepy.errors.Unauthorized: 401 Unauthorized)

やりたいこと、現状

・Pythonを使用してTwitterAPIを実行し、botでツイートを実施したい
・以下に記載の手順で実行するもエラー発生
・Pythonは公式サイトからインストールし、コマンドプロンプトでtweepyのみインストール済

[環境]
Python:4.3.0(tweepyインストール済)
VScode:1.48.2

該当するソースコード

bot_test.py
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

0

1Answer

まったく同じ状況です。
しかも、私は1つ上のELEVATEDですが、APIv1.1は機能しますが、APIv2が機能しません。
エラー内容も全く同じです。
前まで使えていたのに、最近になって使えなくなりました。
解決方法が見つかったらまた情報を共有したいと思います。

1

Your answer might help someone💌