LoginSignup
8
12

More than 3 years have passed since last update.

Google Apps Scripts(GAS)でSlackにメッセージを自動送信

Last updated at Posted at 2019-01-23

まずはGAS(Google Apps Script)を開こう!

*プログラミングもGASも一度も触ったことない人でも分かように書いています。
勉強会の詳細はこちら:https://biosbootcamp.connpass.com

まずGoogleのスプレッドシートの上のバーにあるツールから、スクリプトエディタを選択。
スクリーンショット 2019-01-23 13.15.50.png
そうすると、GAS(コードを書く画面)が出てきます。
スクリーンショット 2019-01-23 13.16.08.png
とりあえず保存します。
スクリーンショット 2019-01-23 13.16.20.png
名前をつけて保存。
スクリーンショット 2019-01-23 13.16.25.png
コード.gsがダサいので、index.gsに変えます。
スクリーンショット 2019-01-23 13.16.32.png
indexじゃなくても大丈夫です。英語がデフォルトの人は、code.gsとなってるかと思います。
スクリーンショット 2019-01-23 13.16.39.png
適当にコードを書いて、デバッグボタンを押します。(コードは何でも大丈夫です。下記のコードをコピペで良いです。)
*古いバージョンのjsの書き方しかできないらしく、constやletは使えないみたいです(気にしなくて大丈夫です)。
スクリーンショット 2019-01-23 13.16.57.png

index.js
function myFunction() {
  var sale = "営業";
  var hr   = "人事";
  var pr   = "広報";
  var ceo  = "社長";
  var debag = [];
}

承認を求められるので「承認」してあげます。
スクリーンショット 2019-01-23 13.17.08.png
行数にクリックして赤点になったところまで、データに何が入っているのか見れます。(最初は慣れないと思うけど、分かるとめっちゃ便利。)
スクリーンショット 2019-01-23 13.17.47.png

いよいよここから本題!SlackのAPIを設定!

https://api.slack.com/apps
Create an Appを選択。
Create an Appが出てこない人は、ウェブで一回自分の所属しているslackのワークスペースにログインしてください。
スクリーンショット 2019-01-23 13.17.59.png
App Nameは、自分のBOTの名前です。
スクリーンショット 2019-01-23 13.18.07.png
作成に成功したら、左のバーからBot Userを選択。
スクリーンショット 2019-01-23 13.18.21.png
Always Show My Bot as OnlineをOnにして、Add Bot Userをクリック。
スクリーンショット 2019-01-23 13.18.30.png
次に、左のバーからIncoming Webhooksを選択して、Add New Webhook to Workspaceをクリック。
スクリーンショット 2019-01-23 13.18.38.png
送信先を選択。個人に送りつけることも可能です。選んだら「許可する」をクリック。
スクリーンショット 2019-01-23 13.18.48.png
Webhook URLが新しく加わっているので、コピーをクリック。
スクリーンショット 2019-01-23 13.50.37.png
GASに戻って、slackのAPIを使うためのコードを足します。下のコードをコピペしてください(先ほどコピーしたものは、下記のコードの /
ここが自分のキーになります*/ という部分に貼り付け)。
スクリーンショット 2019-01-23 13.32.17.png

index.js
function myFunction() {
  var sale = "営業";
  var hr   = "人事";
  var pr   = "広報";
  var ceo  = "社長";
  // スプレットシートからデータを引き出す
  var dataRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("GAStoSLACK").getRange(1, 1, 4, 3); // 「上、左、下、右」から何行目か
  var data      = dataRange.getValues();

  var url = "/*ここが自分のキーになります*/";
  var options = {
    "method" : "POST",
    "headers": {"Content-type": "application/json"},
    "payload" : '{"text":"' + data[0][0] + '"}'
  };
  UrlFetchApp.fetch(url, options);
}

APIを使うための許可が聞かれると思うので、許可します。
スクリーンショット 2019-01-23 13.20.16.png
作成したBOTが設定したSLACKのワークスペースに自動的に送信されているでしょう。
スクリーンショット 2019-01-23 13.21.05.png
以上。

毎週火曜日19:00~21:00にデジタルハリウッド大学院(御茶ノ水ソラシティアカデミア4F)で、こんな内容の毎回違うことをやっているので、誰でも遊びに来てください。無料です!
https://pando.life/bios_bootcamp/article/1257

8
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
12