Python|tweepyからツィートをする。(2022年版)

pythonのライブラリ「tweepy」を使って、ツィートを行うことできたので備忘録で記事にします。

  • twitterの公式APIを使ってpythonスクリプトでツィートを投稿する。
  • pythonの実行環境は「GoogleColaboratory」を使用する。

完成品 Tweepyからツィート

実際にtweepyからツィートした例です。自作アプリからツィートということになるので、ツィートにはアプリ名が表示されます。

ツイッターからアクセストークンを取得

下記のURLを参考にツイッターのアクセストークンを取得します。

取得はTwitterDeveloperPlatformより行います。すべて英語のため、苦手な人は躊躇しますが、私もGoogle翻訳に頼りながらなんとかなりました。

#post_title | DXCEL WAVE
「X(旧Twitter)運用自動化アプリ(Bot)を作って業務効率化したいけど、最初に何をすればいいの?」「X APIってどうやって申請して使えるようになるの?」本記事ではこのような疑問にお答えします。また、後半ではX APIを活用した運用...

赤枠の部分が「Created with Read and Write permissions」になっていなければツィートできません。参考ぺージのやり方できない場合は、一度トークンを作り直してみてください。

GoogleColaboratory開く

tweepyに限らず、pythonのライブラリを試してみたいなら、GoogleColaboratoryを使うのが手っ取り早くて簡単です。

インストール不要ですぐに使えるし、windowsだろうと、Macだろうと、環境に影響されないというメリットもあります。

Google Colaboratoryはgoogleアカウントを持っていれば、以下のリンクからすぐに使い始めることができます。

Google Colab

Google Colaboratory にアクセスすると、以下のように最近使ったノート一覧という画面が表示されます。画面下部の「ノートブックを新規作成」を選択し、白紙のノートから始めます。

白紙のノートには最初、「セル」と呼ばれるコードを入力するところが一つだけ表示されています。

セルの下部にマウスカーソルを合わせると、「+コード」と「+テキスト」の二つのボタンが出てきます。

「+テキスト」はノートとを書き込んでいくために使います。動作には関係ありません。

「+コード」はpythonのプログラムを記述するために使います。

今回はの「+コード」のみ使います。「+コード」を押すと、新しいセルが挿入され、コードを入力するところが2個になります。

今回はスクリプトを三分割にして記述していくので、「+コード」を二回押して、セルを3つにしておきます。

一番上のノート名のところにクリックすると、ノート名を編集できます。なんでもよいのですが、適当に名前を付けておきましょう。

コードの記述

ツィートするためのスクリプトをそれぞれのセルに入力します。

import tweepy
CONSUMER_KEY = '*****************'
CONSUMER_SECRET = '*****************'
ACCESS_TOKEN = '************************'
ACCESS_TOKEN_SECRET = '**********************'

import tweepyは、ライブラリをインポートするために記述します。ネイティブなpythonですと、importより前に、ライブラリをインストールしないといけないのですが、GoogleClaboratoryなら最初から「tweepy」が最初からインスト―ルされているインストールは不要です。

  • CONSUMER_KEY
  • CONSUMER_SECRET
  • ACCESS_TOKEN
  • ACCESS_TOKEN_SECRET

四つにはそれぞれ、アクセストークン取得時にメモした文字列を入力します。

PRESTATUS = [
    "最近は待っているyoutuberけーすけさんの著書",
    "「デジタルライフ・モノワーカー」",
    "がもうすぐ発売",
    "アマゾンで買ってもいいけど、紙の本は本屋さんで買いたい。"
]
print(PRESTATUS)
STATUS = '\n'.join(PRESTATUS)
print(STATUS)

PRESTATUSは、ツィートしたい内容をリストで記述します。例では改行位置でリストを分割しています。

次のように、リストを改行コード「\n」で連結します。

「STATUS = ‘\n’.join(PRESTATUS)」

printで内容の確認を行っていますが、なくても大丈夫です。

def main():
    makeAPI().update_status(STATUS)
def makeAPI():
    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
    auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
    return tweepy.API(auth)
if __name__ == "__main__":
    main()

最後はセルでツィートを行います。コード説明は以下のページに書いてあります。

Heroku | Application Error

セル(コード)の実行

コードの記述ができたら、セルの左側にある実行ボタンを上のセルから順番に実行します。

順番に実行しないとエラーになるので注意してください。

「ランタイム」には「すべてのセルを実行」というボタンがあるので、そこから実行しても結構です。

実行するとツィートが投稿されます。

コメント

タイトルとURLをコピーしました