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 ・・・新着記事一覧を見る

VBA100本ノック 18本目:名前定義の削除|VBA練習問題100(11月6日)
VBA100本ノック 17本目:重複削除(ユニーク化)|VBA練習問題100(11月6日)
VBA100本ノック 16本目:無駄な改行を削除|VBA練習問題100(11月5日)
VBA100本ノック 15本目:シートの並べ替え|VBA練習問題100(11月4日)
VBA100本ノック 14本目:社外秘シート削除|VBA練習問題100(11月3日)
VBA100本ノック 13本目:文字列の部分フォント|VBA練習問題100(11月1日)
VBA100本ノック 12本目:セル結合を解除|VBA練習問題100(10月31日)
VBA100本ノック 11本目:セル結合の警告|VBA練習問題100(10月30日)
VBA100本ノック 10本目:行の削除|VBA練習問題100(10月29日)
VBA100本ノック 9本目:フィルターコピー|VBA練習問題100(10月28日)


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

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




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


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



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