GASを使ったTwitterBOTのつくり方【初心者向け】
スポンサーリンク
いよいよGASでTwitterBOTを動かしていくぞ
以前はEasyBotterを使っていましたので、GASはトリガーを使ってPHPを叩くだけという状態でした。
EasyBotter – プログラミングができなくても作れるTwitter botの作り方
EasyBotter 非公式wiki – atwiki(アットウィキ)
前回の記事でTwitter APIの鍵をイロイロ取得したかと思います。
今回はGoogleドライブ経由でつぶやきから準備していきます。
結構長いので頑張ってついてきてください(待)
それではいくぞ!我に続け!!誰
準備するアレやコレも前回の記事に記載済ですのでご確認ください。
ツイートの準備
Googleドライブからスプレッドシートを起動
最低限必要なものはTwitterアカウントとGoogleアカウント=Googleドライブを使うためです。
Googleドライブを開き、右上にある、赤く囲ったアイコンをクリック→スプレッドシートへと移動。
新規のまだ名前もついていないスプレッドシートが起動します。
後々面倒になるので、すぐに名前をつけてください。
ツイートしたい内容を1行=1ツイートで記載します。
テキストファイルなどに保存してある場合はまるっとコピペすればOKです。
改行OK。AAだって入れられる
ちなみに情報。
同じツイート内でも、Ctrl+Enterによる改行が効きます。
AA(アスキーアート)なども文字数制限に引っかからなければ入力可能です。
ツイート内容の入力が終わった後は、上にあるメニューから「拡張機能」→「Apps Script」と移動してください。
Apps Scriptを起動
新しいプロジェクトが、先ほどのスプレッドシートと関連付けられた状態で起動します。
すぐに名前をつけてください。
スプレッドシートとGASは紹介した手順にて必ず関連付けて作っていかないと最終段階のつぶやきのトコロでエラー吐いて詰みます。
手順は絶対厳守でお願いします。
それから、functionと何か記載がありますが、使わないので全て削除します。
プロジェクトの設定からIDを確保
名前をつけたら設定を確認=左端の歯車アイコンから入れます。
画像に示されている手順の通りに進めてください。
Chrome V8ランタイムはチェックが入っているとエラーを吐くことがあるとかないとか情報が錯綜していますが、付けていても動きました。動かない場合はチェックを外して様子を見るとかそんな感じです。
IDのところをコピーしてどこかに控えておきます。
ここで前記事の「Callback URL」に少し戻るわけです。
GASでCallback URLを取得→Developer Portalで入力
こちらはDeveloper Portalの画面。
Callback URLは実行時に必ずチェックされ、一致していないとエラーを吐きます=415
書き方もあちこちで紹介されておりますがー……
https://script.google.com/macros/d/【ここにコピーしたIDを入れる】/usercallback
先ほどコピーしたIDはこのような形式でCallback URLに入力します。
【】は消してくださいね。
ここまで完成するとキーが発行されるのかな?
ちょっとうろ覚えです😅
Consumer Keysは再取得が可能
うっかりメモをし忘れても心配はいりません。
今回作るGAS由来のTwitterBOTにて使うのはConsumer Keys=API Key and Secretです。
Access TokenをメモしていなければRegenerateで再発行できます。
ただし、再発行すると前のKeyは使えなくなりますので、そこだけご注意ください。
ここからスクリプト処理
スクリプトはこちらを使わせていただきました。ありがとうございます。
初心者がGASを使ってTwitter Botを作ってみた(コードもあるよ☆) – Qiita
まずはライブラリの登録
同記事にはライブラリという、BOTの稼働に必ず必要な外付けスクリプトがあります。
こちらも忘れずに導入していきます。
登録するライブラリは、1. OAuth1と2. TwitterWebServiceの2つです。
こんな風に2種類のライブラリが表示されていればOKです。
スクリプトをコピペ
スクリプトはコピー&ペーストでまったく問題ありません。
書き出しはデフォルトでこのような状態になっているかと思います。
しつこく書きますがConsumer Keys=API Key and Secretです。
グレーで塗りつぶしてあるエリアが変更が必要な箇所。
控えておいたConsumer Keysを必ず入力してください。
API key および API secret keyの入力が終わったら、いよいよTwitterと連携させていく作業です。
その前にGoogleアカウントにて、作成したGASを認証する手順が残っています。
GoogleアカウントからGASを承認する
GASの上部はこのようなメニューが並んでいます。
authorizeで承認手続きへ
「myFunction」の箇所には4種類(authorize・reset・authCallback・postTweet)の実行コマンドがあります。
まずは「authorize」に合わせた状態で「実行」。
そうするとこのような画面が。
で、こうなります。
「このGASはまだ安全と認められてないよ」というところでしょう。
というわけで承認作業を行います。
ワタクシのブラウザは海外製なので割りと英語表記の画面が出てきてしまいます……。
日本語はこんな感じ。
アカウントを選択しGASを承認
Googleアカウントを複数所持している場合は、どのアカウントで承認するかを問われます。
選んだあとはこちらのような画面に推移します。
Allowをクリック。
Twitterの承認作業へ
そして先ほどの「authorize」をもう一度「実行」。
問題なく処理されれば、URLが表示されます。
そのURLを、ブラウザに直接打ち込んでアクセス。
Twitterでおなじみの連携アプリ承認画面
いつものやーつという感じですね😂
承認しないと自動ツイートができないので承認してください。
小さい文字で「Success」(成功)と出力されます。
これでURLを直接打ち込んだタブ(ウインドウ?)は閉じても大丈夫です。
いよいよGASを実行
では実行していきます。
postTweetを実行し、手動でつぶやかせてみる
先ほども紹介した画面。
「postTweet」を選んで「実行」を押してみてください。
このような結果が表示されれば成功です。
モザイク部分の「text:」は、BOTのつぶやき内容がひとつランダムに選択されて表示されているはずです。
BOTも無事につぶやいてくれました!
トリガーを作成し一定間隔で自動ツイートさせる
手動でBOTがつぶやいてくれればもう一息。
いよいよ自動化の作業です。
トリガーを新規作成
左側にある時計のアイコンからトリガーを作成します。
新しく作ったGASにはトリガーなど存在しません。
赤い枠で囲った「+トリガーを追加」をクリックします。
ワタクシはこのような感じで設定いたしました。
あまり叩きすぎてもサーバーの負荷等々アレなもんですから、ワタクシは4時間おきに設定しています。
エラー通知設定は毎日にするとかなりうっとうしいです😂
週単位でいいんじゃないでしょうか……。
トリガーが追加されていれば作業は完了
設定が完了すればこのような感じでトリガーが追加されています。
ここまで来たなら、あとは時間が来てBOTが何かツイートしてくれるのをのんびりと待つだけ。
特に間違いなどなければ問題なくつぶやいてくれるはず。
おつかれさまでした~(´ω`)!
ステキなBOTライフを楽しんでください☆
GASを使ったTwitterBOTのつくり方:おまけ
複数のBOTをひとつのGoogleアカウントで稼働させたいとき
ひとつのGoogleアカウントに複数のGAS由来BOTがいる場合、認証が途切れがちになってちょくちょく止まるといった現象が起こります。
BOTを複数体稼働させたい場合は以下の処理が必須です。
私はやりました()
[GAS] Google Apps Script でTwitter複数アカウントを使い分ける – Qiita
//OAuth1ライブラリを導入したうえで、getServiceを上書き
例えば2体であれば、2体いるうちのいずれかのBOTにのみ、から下の記述を部分的に追記すれば良いです。
3体以降はちょっとそこまで稼働させようなどと考えたことがないため分かりませんw