Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

まずは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

njn0te
「テクノロジー×教育×社会課題解決」で活動中 SDGsにコードで挑む。社会派エンジニア養成スクール“TSfCM”3月開校 (JR「東京」駅から徒歩2分) 海外マーケティング('15)→エンジニア('17)→スクール開校('20) https://tsfcm.dev
https://tsfcm.dev
tsfcm
SDGsにコードで挑む。社会派エンジニア養成スクール
https://tsfcm.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away