Google Apps Script応用
Twitter Bot 作成

Google Apps Script(GAS)の応用編です
最終更新日:2019-07-24

Twitter Bot 作成

Google Apps Scriptで、TwitterのBotを作成します、


全て作成していたら大変ですし、今の段階では私にその技量はありませんので、

ネットに公開されているものを参考に作成しました。

従って、ここでは手順の紹介がメインで、コード等はリンク先を参照してください。

この記事は、自身の備忘録として書いています。


参考にしたページ


最初は、
[GAS]Google Apps Scriptでツイートを投稿する
こちらを参考に始めました。


準備

Twitter Developers
ここで、
新規アプリケーションを登録します。

英語なので、戸惑う事しきり・・・

Google Apps Script Twitter

最初は右上の、「Join」で参加します。
名前やら、Emailの入力がありますので、全部入れて、
Sign Up

次回からは、
My apps
で自分のページに入れます。

右上の、
Google Apps Script Twitter


ここで、新規アプリケーションを登録します。
入れる項目は多いですが、
必須項目以外は適当に流しても構いせん。
後で修正できますので。

ここで間違いなく入れなければならないのは、
Callback URL
ここに、
https://script.google.com/macros/d/スプレッドシートキー/usercallback

スプレッドシートキーは、
https://docs.google.com/spreadsheets/d/○△□/edit#gid=0
URIの、この「○△□」の部分になります。

最後の段階で、
Google Apps Script Twitter
この、
Keys and Access Tokens
有効にするために、一番下のボタン押下が必要になります。


以上でTwitter側は終わりで、
スプレッドシートで、スクリプトを作成します。


ここで、ちょっと躓いてしまって、
ここからは、
Google Apps ScriptでOAuthConfigのサポートが終了してTwitter botが危険そうだったので変更
こちらのスクリプトを使う事にしました。
こちらは、かなり親切に書かれているので、書かれている通りに進めばほぼ問題ありませんでした。
ただし、何か所かは、あれれ・・・
となりましたので、書いておきます。


ライブラリ

ライブラリに
Mb2Vpd5nfD3Pz-_a-39Q4VfxhMjh3Sh48
を追加します。
Google Apps Script Twitter

Google Apps Script Twitter

検索に、
Mb2Vpd5nfD3Pz-_a-39Q4VfxhMjh3Sh48
を入れれば出てきますが、
バージョンが問題で、最新なら良いという事はなく、
現在は、14くらいまで表示されますが、14では動きませんでした。
そこで、参考にしたページの画像にあった、7を指定することで動作した次第です。


スクリプト

スクリプトは、そのまま貼り付ければ問題ありません。

var Twitter = {
projectKey: "**************",
consumerKey: "**************",

consumerSecret: "*************",
apiUrl: "https://api.twitter.com/1.1/",
oauth: {

スクリプト内の、
プロジェクト キー
Twitterの Consumer Key
Twitterの Consumer Secre
この値を変更します。


プロジェクトキー

Google Apps Script Twitter

Google Apps Script Twitter

サポート終了と書かれているので、
今回の方法も、いつまで使えるか心配になってきますが・・・
このプロジェクトキーです。


Consumer KeyとConsumer Secre

Twitterの、Application Managementの画面で、

Google Apps Script Twitter

コピペしましょう。


認証

先のページに書かれている通りに進んでください。

スクリプトの、
twitterAuthorizeUrl
を実行し、ログを見て、

Google Apps Script Twitter

表示されるURLを、ブラウザで表示して、認証してください。


ツイートのテスト


function TweetTest() {
var res = Twitter.tweet("GASテストツイート");
}

これをスクリプトに追加し実行して、
無事ツイートされていれば大成功ということです。


Botの作成

スプレッドシートのA列に、ツイート内容を記載します。

Google Apps Script Twitter

スクリプトは、
function YamaTweet() {
  var ash = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ash.getActiveSheet();
  var lastRow = sheet.getLastRow();
  var i = Math.floor( Math.random() * (lastRow-2))+2;
  var res = Twitter.tweet(sheet.getRange(i, 1).getValue());
}

ランダムにツイートすることにしました。
乱数は0から始まり、先頭行は見出しなので、
-2を最大数として乱数を発生させて、+2で行数を求めています。

後は、トリガーで一定時間ごとにツイートするように設定。

Google Apps Script Twitter

Google Apps Script Twitter


以上で、
Google Apps Scriptによる、Twitter Botの完成です。




同じテーマ「Google Apps Script入門」の記事

第30回.並べ替え
第31回.入力規則
第32回.グラフ
第33回.表示の固定
第34回.シート保護
第35回.スプレッドシートが非常に遅い、高速化するには
第36回.フォルダとファイルを扱う(DriveApp)
第37回.フォルダの一覧取得・作成・削除(Folder)
第38回.ファイルの一覧取得・削除(File)
Excel流の最終行の取得
Twitter Bot 作成


新着記事NEW ・・・新着記事一覧を見る

多階層フォルダ(ディレクトリ)の作成|VBAサンプル集(7月31日)
VBAのインデントについて|VBA技術解説(7月16日)
「VBA Match関数の限界」についての誤解|エクセル雑感(7月15日)
省略可能なVariant引数の参照不可をラップ関数で利用|VBA技術解説(7月12日)
100桁の正の整数値の足し算|エクセル雑感(7月9日)
LSetとユーザー定義型のコピー(100桁の足し算)|VBA技術解説(7月9日)
Variant仮引数のByRefとByValの挙動違い|エクセル雑感(7月5日)
Variant仮引数にRange.Valueを配列で渡す方法|エクセル雑感(7月5日)
Variantの数値型と文字列型の比較|エクセル雑感(7月1日)
VBAのVariant型について|VBA技術解説(6月30日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ