Google Apps Script を使って SpreadSheet の内容を Slack のチャンネルに投稿する
概要
Slack と Google Apps Script の簡単な連携方法をご紹介したいと思います。 ※Slack の管理者権限がないとできないです。
全コード
var slack = { postUrl: 'https://slack.com/api/chat.postMessage', token: 'TOKEN', // Slackのtoken // SlakckのチャネルID channelId: "CHANNELID", // bot名 userName: "BOTNAME", } var postSlack= function(text) { UrlFetchApp.fetch(slack["postUrl"], { "method" : "post", "payload" : { token: slack["token"], channel: slack["channelId"], username: slack["userName"], text: text } }); } function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var cell = sheet.getRange("A1").getValue(); postSlack(cell); }
事前準備
token と channel ID の取得
Slack と SS を連携するには token と channel ID を取得する必要があります。 ※管理者しか取得できない
channel ID は投稿した channle の ID を取得してください。 ※ channel ID は #general とかではないですよ!
Toke の取得 → https://api.slack.com/web channel IDの取得 → https://api.slack.com/methods/channels.list/test
ライブラリのインストール
ライブラリをインストールする必要ありますので、リソースからライブラリを選択して以下の Key を入力してください。
Key:M3W5Ut3Q39AaIwLquryEPMwV62A3znfOO
投稿する
そして、さきほど紹介しましたコードを入力してください。そうすれば、選択したセルの内容を Slack に送ることが出来ます。
ちなみに、トリガーも設定することができます。 実行ボタンの横にある時計マークを押すと設定できますので、お試しください。
最後に
これを使えば、 Google Calender の内容を Slack に送ったりもできますし、 Analytics と連携してアクセス状況の日報とかも作れますね。