目次
- Twitter APIの認証情報を作成してみよう
- Pythonを使ってツイートをしてみよう
- クラウドを使って自動でツイートするbotを作ってみよう
前回の記事
でステップ1,2までは終了しています。
今回はステップ3の
「クラウドを使って自動でツイートするbotを作ってみよう」
に相当します。
GCP(Google CLoud Platfrom)と呼ばれるクラウドサービスを利用します。
GCP(Google Cloud Platform)とは
Googleが提供するクラウドサービスです。
競合である、Amazonが提供するAWS(Amazon Web Services)も有名ですが、
近年はGCPも人気を集めています。
クラウドを使って自動でツイートするbotを作ってみよう
概要
GCPの以下の2つのサービスを使って、botを構築します。
どちらのサービスも、今回の利用ボリュームであれば無料で利用できます。
- Cloud Functions
- FaaS(Function as a service)
- HTTPリクエストを受けるとツイートする関数を作成
- 毎月200万回の呼び出しまで無料
- Cloud Scheduler
- cronジョブスケジューラ
- 定期的にHTTPリクエストを行う
- 毎月3つのジョブまで無料
手順
Cloud Functions
まずはGCPコンソールにログインする。
https://console.cloud.google.com/?hl=ja
プロジェクトを作成します。


左上のハンバーガーメニュー(三本線のアイコン)をクリックして、
コンピューティングにあるCloud Functionsをクリックする。


GCPを利用されるのが初めての場合、ここの手順あたりで無料トライアルへの登録を促されます。
無料トライアルでは、一年間にわたって300ドル分のクーポンが利用できます。
クレジットカードの登録が必要ですが、説明にもある通り自動で課金されることはありません。
また、今回作成するサービスは上述の通り、この無料トライアルを抜きにしても料金が発生しませんので、ご安心を。


Cloud Functionsに戻り、関数を作成をクリックする。

名前を決めていただき、画像のように入力します。
作成後は、URLにアクセスすることで、関数が実行されツイートが行われます。
このURLを控えておいて下さい。

ランタイムを Pythonに設定
twitter
モジュールを利用したいので、requirement.txtにtwitterと追記してください。

main.pyに戻っていただきコードを編集します。
下記のコードを認証情報を適切に設定してコピペして下さい。
認証情報の作成方法については、前回の記事で解説しています。
実行する関数を変更するのも忘れないでください。(このコードの場合、関数名はtweet
)
1 | import twitter |

作成をクリックして、Cloud Functionsの設定は終了です。
テストを実行してみましょう。ツイートされるはずです。
うまくいかない場合、ログからエラーが確認できるのでデバッグします。
Cloud Scheduler
メニューのツールからCloud Schedulerをクリックし、ジョブを作成します。


特にレイテンシを意識する必要もないので、ロケーションはそのままでもOKです。

頻度を設定します。画像のように設定すると、毎日夜24時にツイートをします。

先ほど控えたCloud FunctionsのURLを設定します。

完成です。今すぐ実行でテストすることもできます。

まとめ
いかがだったでしょうか。
この後は、ツイートの内容を工夫するなりして遊んでみるのもいいと思います。
勉強目的なのでこれで十分、という方はプロジェクトごと消してしまいましょう。