TwitterAPIを使ってツイートできない時の対処法
この記事を書くに至った経緯
高専三年にもなってなにも専門的なことを自主的にできていなく、何かしたいなぁと思っていたところつよつよの友人に助けを求めたら"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.
原因
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)
consumer_key = '************'
consumer_secret = '***********'
token = '***********'
token_secret = '***********'
tweepy.error.TweepError: Read-only application cannot POST.
原因
Twitter Appの設定がRead onlyになっているため書き込みができない(デフォルトだとこうなってるみたいです)
対処法
Twitter developers公式
上のリンク先に飛んでPROJECT APPで作成したプロジェクト歯車のマークをクリックし、設定画面に行きます。
少し下にスクロールするとこのような設定画面があるのでEditをクリック。
Read and Wrhite か Read+Write+Direct Messagesを選択しSave
これでいける!
と思いきや各種tokenを再発行しないと無理っぽいです。
再発行した各種tokenをコードに反映させれば終わりです。
これからは投稿ができたのでtweepyの公式リファレンスを参考にしながらいろいろいじれたらいいなぁと思ってます。(テスト期間が終わったら)
Author And Source
この問題について(TwitterAPIを使ってツイートできない時の対処法), 我々は、より多くの情報をここで見つけました https://qiita.com/butsuli_shine/items/78fd5ee6fdb4a0581652著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .