LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Sunday, August 2, 2020

Slackに投稿された内容をキャッチして外部サービスに飛ばしたい


MISSION 
Slackの特定のチャンネルに投稿した内容をキャッチしてGoogleドライブに飛ばす


KEY 
Outgoing Webhooks


PROCESS 
Googleドライブに受信用のフォルダを作っておく
Googleドライブにファイルを保存するアプリを作る(Google Apps Script)
SlackのOutgoing Webhooksでアプリを作る


というのを、ステップに分けて作っていきます。


STEPS 

STEP1
① Slackでワークスペースのメニューを開きます
② Settings & administrationをクリックします
③ Customize WORKSPACE名をクリックします


STEP2
Configure appsをクリックします。


STEP3
検索ボックスに「outgoing webhook」と入力して検索します。


STEP4
Outgoing Webhooksをクリックします。


STEP5
Add to Slackをクリックします。


STEP6
Add Outgoing Webhooks integrationをクリックします。


STEP7
① 対象のChannelを選択します。
② 送信先のURLを入れます。(今回はGoogle Apps ScriptのWebアプリのURL)


STEP8
Save Settingsをクリックします。


STEP9
対象のチャンネルにメッセージを送ります。


STEP10
コード.gsで指定したフォルダにファイルが作成されます。


STEP11
ファイルを開くとJSONデータを確認できます。


関連記事


Google Apps Scriptのコード
これをWebアプリにしてURLをSTEP7の②に入れます。

コード.gs 
function doPost(eventObj) {
  const json = JSON.stringify(eventObj, null, 2);
  create_file(json);
}

function create_file(json) {
  const content_type = "application/json";
  const file_name = "Slack Message";
  const blob = Utilities.newBlob("", content_type, file_name);
  const file = blob.setDataFromString(json, "UTF-8");
  const folder = DriveApp.getFolderById("FOLDER_ID");
  folder.createFile(file);
}


FOLDER_IDはGoogleドライブのご自身のフォルダを指定します。



Latest post

Google Apps Scriptでスライドのページを指定して複数の図形を追加したい(Google Apps Script)

Googleスライドのページを指定して、 複数の図形(とテキスト)を追加したくて書いたコードです。 Code.gs const values = [ "hello" , "hey" , "hi" ]; con...