LoginSignup
20
11

More than 3 years have passed since last update.

TwitterAPIを使ってツイートできない時の対処法

Posted at

この記事を書くに至った経緯

高専三年にもなってなにも専門的なことを自主的にできていなく、何かしたいなぁと思っていたところつよつよの友人に助けを求めたら"twitter動かしてみれば"と助言をいただいたためtwitterAPIを使いTwitterに投稿しようしました。
しかし投稿しようとするとエラーになってしまい出来なかったので対処法を共有しようと思いました。(テスト期間)
※同じ症状で記事を書かれている方がいたのですが、2015年の記事で古く、TwitterDeveloperのサイトも仕様が変わっていたので最新版を書こうと思いました。
【TwitterAPI】エラー「Read-only application cannot POST.」の対処法

環境

この記事ではwindows10にインストールしたpython3.8を使っています。

Twitter APIについて

TwitterAPIを利用するにあたって参考にした記事はこちら
Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ

コード

postTweet.py
import tweepy
import config #各種token

#Oauth認証処理
auth = tweepy.OAuthHandler(config.consumer_key,config.consumer_secret)
auth.set_access_token(config.token,config.token_secret)
api = tweepy.API(auth)

#投稿
text = 'Test tweet from python'
api.update_status(text)
config.py
consumer_key = '************'
consumer_secret = '***********'
token = '***********'
token_secret = '***********'

エラー内容

tweepy.error.TweepError: Read-only application cannot POST.

原因

Twitter Appの設定がRead onlyになっているため書き込みができない(デフォルトだとこうなってるみたいです)

対処法

Twitter developers公式
上のリンク先に飛んでPROJECT APPで作成したプロジェクト歯車のマークをクリックし、設定画面に行きます。
app.jpg

少し下にスクロールするとこのような設定画面があるのでEditをクリック。
readonly.jpg

Read and Wrhite か Read+Write+Direct Messagesを選択しSave
readonly02.jpg

これでいける!

と思いきや各種tokenを再発行しないと無理っぽいです。
再発行した各種tokenをコードに反映させれば終わりです。
これからは投稿ができたのでtweepyの公式リファレンスを参考にしながらいろいろいじれたらいいなぁと思ってます。(テスト期間が終わったら)

20
11
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
11