Google Apps Script応用
Twitter Bot 作成

Google Apps Script(GAS)の応用編です
公開日:2016-11-06 最終更新日:2021-04-14

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回.並べ替え

GoogleAppsScriptで、スプレッドシートを並べ替えます、書き方のバリエーションがいろいろありますが、並べ替えキー列、昇順・降順、これらをどのように指定するかだけの違いになります。書き方のバリエーションごとに順に見ていきましょう。
第31回.入力規則
GoogleAppsScriptで、スプレッドシートに入力規則を設定します、入力規則は機能がとても多く、それにメ対応したソッドも多数あります。ここでは、メソッドの一覧と、代表的な使い方を参考スクリプトを掲載します。入力規則の作成方法の概要 クラスSpreadsheetAppのメソッドnewDataValidatio…
第32回.グラフ
GoogleAppsScriptで、スプレッドシートにグラフを挿入します。スクリプトであまり凝ったレイアウトのグラフを作成しようとすると、結構大変になりますので、そのような場合は、手動で作成したグラフをスクリプトで変更する等の工夫も必要です。
第33回.表示の固定
GoogleAppsScriptで、シートの表示(スクロール)の固定を設定します。表とは一般に、横に項目、縦にデータが連続して入っているものです、スクロールした場合に、見出しが見えなくなってしまう事のないように設定しておきます。表示(スクロール)の固定に関するメソッド Sheetのメソッドを使います。
第34回.シート保護
GoogleAppsScriptで、スプレッドシートを保護します、スプレッドシートの保護に関しては、少々面倒なスクリプトだと感じます。ここでは理屈抜きでサンプルコードの提示に徹します。保護する場合の実際のスクリプトのサンプルを見ていきましよう。
第35回.スプレッドシートが非常に遅い、高速化するには
GoogleAppsScriptで、スプレッドシートのセルを扱うと、とても処理時間がかかります、あまりにも遅く、目で動作がゆっくり見えるレベルです、データ量が多くなっても、実用に耐える速度で処理する方法を解説します。スプレッドシートに比べればExcelはかなり速いですが、VBAの書き方によっては処理時間がかかってし…
第36回.フォルダとファイルを扱う(DriveApp)
GoogleAppsScriptで、Googleドライブのファイルやフォルダを扱う場合は、DriveAppクラスを使います。DriveAppクラスの各種メソッドの戻り値(FolderクラスやFileクラス)のメソッドを使って各種操作を行います。
第37回.フォルダの一覧取得・作成・削除(Folder)
GoogleAppsScriptで、フォルダ内のサブフォルダ一覧を取得したり、フォルダ内にサブフォルダを作ったり削除したりするスクリプトの書き方を解説します。使用するクラスは、DriveApp Folder File FolderIterator FileIterator これらのメソッドを使います。
第38回.ファイルの一覧取得・削除(File)
GoogleAppsScriptで、フォルダ内のファイル一覧を取得したり、フォルダ内にファイルを作ったり削除したりするスクリプトの書き方を解説します。使用するクラスは、DriveApp Folder File FolderIterator FileIterator これらのメソッドを使います。
Excel流の最終行の取得
Excelでは、xlUpやxlDownで指定列の最終行を取得することが多いです。GoogleAppsScriptにもどうようのものは用意されています。かなり記述が複雑になっててますが、このGASの書き方を紹介します。
Twitter Bot 作成


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

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.ひらがな⇔カタカナの変換|エクセル基本操作
5.繰り返し処理(For Next)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.Findメソッド(Find,FindNext,FindPrevious)|VBA入門




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


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


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