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

# まずはGAS(Google Apps Script)を開こう！
#####*プログラミングもGASも一度も触ったことない人でも分かように書いています。<br>勉強会の詳細はこちら：https://biosbootcamp.connpass.com
まずGoogleのスプレッドシートの上のバーにあるツールから、スクリプトエディタを選択。
<img width="721" alt="スクリーンショット 2019-01-23 13.15.50.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/ed25d54f-8777-cf1e-883a-a28f97e75e07.png">
そうすると、GAS（コードを書く画面）が出てきます。
<img width="656" alt="スクリーンショット 2019-01-23 13.16.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/0dd76ccd-7bca-f8ac-6b77-d94109ef4adf.png">
とりあえず保存します。
<img width="670" alt="スクリーンショット 2019-01-23 13.16.20.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/7a7749f7-2415-0835-2802-f3e57cae4843.png">
名前をつけて保存。
<img width="771" alt="スクリーンショット 2019-01-23 13.16.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/470e26ce-1e38-990e-7b82-befa88424976.png">
コード.gsがダサいので、index.gsに変えます。
<img width="638" alt="スクリーンショット 2019-01-23 13.16.32.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/d368a98e-0f68-acad-9541-bb625252f84b.png">
indexじゃなくても大丈夫です。英語がデフォルトの人は、code.gsとなってるかと思います。
<img width="767" alt="スクリーンショット 2019-01-23 13.16.39.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/2aab764e-daf3-7878-c7eb-1f59bfdf51f3.png">
適当にコードを書いて、デバッグボタンを押します。（コードは何でも大丈夫です。下記のコードをコピペで良いです。）
*古いバージョンのjsの書き方しかできないらしく、constやletは使えないみたいです（気にしなくて大丈夫です）。
<img width="683" alt="スクリーンショット 2019-01-23 13.16.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/a76417e6-319b-b6dc-d1db-522c0556904d.png">

``` index.js
function myFunction() {
  var sale = "営業";
  var hr   = "人事";
  var pr   = "広報";
  var ceo  = "社長";
  var debag = [];
}
```
承認を求められるので「承認」してあげます。
<img width="768" alt="スクリーンショット 2019-01-23 13.17.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/4d35ae70-4e27-d63e-83e2-07f6e15292a4.png">
行数にクリックして赤点になったところまで、データに何が入っているのか見れます。（最初は慣れないと思うけど、分かるとめっちゃ便利。）
<img width="781" alt="スクリーンショット 2019-01-23 13.17.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/78b3c4f9-7c03-159c-b8a1-790c6fdbbe27.png">

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

https://api.slack.com/apps
Create an Appを選択。
*Create an Appが出てこない人は、ウェブで一回自分の所属しているslackのワークスペースにログインしてください。
<img width="769" alt="スクリーンショット 2019-01-23 13.17.59.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/901d4f4b-c395-3f21-fc5f-a8ae92031b3a.png">
App Nameは、自分のBOTの名前です。
<img width="770" alt="スクリーンショット 2019-01-23 13.18.07.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/86df6d83-fb0f-4899-c961-6a4d091867a5.png">
作成に成功したら、左のバーからBot Userを選択。
<img width="770" alt="スクリーンショット 2019-01-23 13.18.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/00fca999-a908-a523-0757-b8356ed14fd8.png">
Always Show My Bot as OnlineをOnにして、Add Bot Userをクリック。
<img width="614" alt="スクリーンショット 2019-01-23 13.18.30.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/6ab94798-fb32-82b9-f856-73681e279289.png">
次に、左のバーからIncoming Webhooksを選択して、Add New Webhook to Workspaceをクリック。
<img width="611" alt="スクリーンショット 2019-01-23 13.18.38.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/2bfd8c27-5765-445f-96b4-e12c62c6ca22.png">
送信先を選択。個人に送りつけることも可能です。選んだら「許可する」をクリック。
<img width="580" alt="スクリーンショット 2019-01-23 13.18.48.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/6d728ab6-1a21-f560-8918-d50f5574f48c.png">
Webhook URLが新しく加わっているので、コピーをクリック。
<img width="772" alt="スクリーンショット 2019-01-23 13.50.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/740f52cb-465e-ac9b-87f2-b2062f9a7450.png">
GASに戻って、slackのAPIを使うためのコードを足します。下のコードをコピペしてください（先ほどコピーしたものは、下記のコードの /*ここが自分のキーになります*/ という部分に貼り付け）。
<img width="769" alt="スクリーンショット 2019-01-23 13.32.17.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/27ca78be-f302-7081-5f41-28bebec39df9.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を使うための許可が聞かれると思うので、許可します。
<img width="492" alt="スクリーンショット 2019-01-23 13.20.16.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/288a1696-176a-f3fc-f8a8-05b9c7ebdb3c.png">
作成したBOTが設定したSLACKのワークスペースに自動的に送信されているでしょう。
<img width="616" alt="スクリーンショット 2019-01-23 13.21.05.png" src="https://qiita-image-store.s3.amazonaws.com/0/216701/4530a932-09ce-3e8f-e2ce-3a89ea07d5d4.png">
以上。

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