モノトーンの伝説日記

Apex Legends, Splatoon, Programming, and so on...

Google Forms w/Google App Script で送信された後に運営アカウントからのフォローとDMの送信を行う方法

 詳細から

流れ

  1. Google App Script とは
  2. Twitter のアプリ登録
  3. ライブラリーの追加
  4. プログラムの記述
  5. 運営アカウントでの認証
  6. トリガーの設定

1. Google App Script とは

 誰しもが使ったことある GAS。知らない人のために簡単に書いておこう。

 まず,Google Forms を作っておく。そして,Google Forms を起動。

f:id:mntone:20171104130940p:plain:w320

 ここからがスタートである。

2. Twitter のアプリ登録

 Twitter クライアントの開発者ならおなじみだが,https://apps.twitter.com/ から Google App Script で使うアプリを登録しよう。

 この際重要なのが Callback URL である。https://twitter.com/ などダミーのものを入れておこう。そうでないと今回のものは動作しない。

 consumer_key, consumer_secret は 4 で使います。

f:id:mntone:20171104133107p:plain:w640

3. ライブラリーの追加

 GAS に TwitterWebService と OAuth1 のライブラリーを組み込んでおかないといけない。

 リソース > ライブラリー から以下の値を入力し追加しよう。バージョンは特に理由がなければ最新版を選ぶと良い。

  • TwitterWebService: MFE2ytR_vQqYfZ9VodecRE0qO0XQ_ydfb
  • OAuth1: 1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s

f:id:mntone:20171104131513p:plain:w300

4. プログラムの記述

 以下をコピペしてくだせぇ。MIT license でおなしゃす。

gist.github.com

consumer_key, consumer_secret は 2 で取得したものに置き換えて下さい

5. 運営アカウントでの認証

 運営アカウントで OAuth 認証します。

 authorize をエントリーポイントとして実行ボタンを押してください。

f:id:mntone:20171104131850p:plain

 実行 > ログ に URL があると思うので,運営アカウントでログインしているブラウザーでそれを開いて認証してください。Google アカウントでログインしていなければログイン,あるいは権限が求められる可能性があります。

f:id:mntone:20171104132000p:plain:w300

6. トリガーの設定

 フォームが送信されたのをトリガーとして,「Twitter」が含まれる質問(if (question.indexOf('Twitter') > -1) { を変更することにより Twitter と入っていなくても認識することができるようになります)の答えを ID として follow や DM を行います。

 編集 > 現在のプロジェクトのトリガー > 画像のように設定して下さい。

f:id:mntone:20171104132346p:plain:w300

f:id:mntone:20171104132411p:plain:w640

まとめ

 Twitter API は別途調べて下さい。これを応用すれば,フォーム送信時リプとかも可能です。

 以上です。