見出し画像

PythonでTwitter APIを使ってトゥイートしたい

Twitter眺める民だったのですが、「Pythonなら自動でトゥイートできるんじゃね」と、思ってしまったのでやってみました。


まず必要になるのが、Twitter APIの申請です。yuinamiさんが取得方法をnoteに書いてくださっているので、ありがたく参考にさせていただきました

※App permission (アプリ権限)の設定を行ってから、Consumer Kay のAPI Key and SecretとAuthentication TokensのAccess Token and SecretをRegenerateで取得しなおしてください。設定してもキーの再発行せずに実行すると、「Read-only application cannot POST」とエラーが戻ってきます。

キーを取得したら、いよいよツイートしてみましょう。必要なライブラリをインストールして。

!pip install twitter

メッセージを入れれば、ツイートしてくれる関数を作成。

##### Twitter api access & message
import twitter
def Twitter_mes(twitter_mes):
   ###### 取得したキーとアクセストークンを設定する
   auth = twitter.OAuth(consumer_key="取得したキー",
                    consumer_secret="取得したシークレット",
                    token="取得したトークン",
                    token_secret="取得したトークンシークレット")

   twi = twitter.Twitter(auth=auth)

   ##### トゥイート
   twi.statuses.update(status=twitter_mes)

使う時はこんな感じです。

tweet = 'Python トゥイート hahaha'
Twitter_mes(tweet)

エラーが出なければ、Pythonからトゥイート成功です!

メッセージを自動で生成する仕組みを作れば、延々とツイートできそうですね。botの作成をしているので、結果をツイートし続けてもらおうかなぁ。

最後に、ツイートには利用制限があるので、高速でツイートし続けるような使い方は避けてください。

botにツイートさせていたのですが、同じ文面をツイートするとエラーが返ってきました。

details: {'errors': [{'code': 187, 'message': 'Status is a duplicate.'}]}

日付等を入れて、ツイート文に変化を与えないといけないみたいです。

この記事が気に入ったらサポートをしてみませんか?