初心者でも簡単!GASでSlackメッセージを自動送信する方法
GASとSlack APIの初めの一歩
Slackにメッセージを送信するためには、GASでスクリプトを書く必要があります。このためには、まずSlackのAPIを用いて適切な設定が必要です。
Slack APIトークンを取得する
Slack APIを利用するにはAPIトークンが必要です。トークンはSlackの管理画面を通じて入手できます。
1. SlackのApp Directoryにアクセスします。
2. 新規アプリを作成し、適切なワークスペースにインストールします。
3. OAuth & Permissionsで適切なスコープを設定し、APIトークンを取得します。
GASでスクリプト環境を準備
GASを使うにはGoogleのスクリプトエディタを利用します。
1. Googleドライブで新しいスプレッドシートを作成します。
2. メニューから「拡張機能」→「Apps Script」を選択してスクリプトエディタを開きます。
GASでSlackにメッセージを送信する仕組み
以下のコードは、GASを使ってSlackにメッセージを送信する基本的なスクリプトです。
コードの追加
これが基本のコードです。
function postToSlack() {
var url = 'https://slack.com/api/chat.postMessage';
var token = 'YOUR_SLACK_TOKEN_HERE';
var payload = {
'channel': '#general',
'text': 'Hello from Google Apps Script!',
};
var options = {
'method': 'post',
'contentType': 'application/json',
'headers': {
'Authorization': 'Bearer ' + token
},
'payload': JSON.stringify(payload)
};
UrlFetchApp.fetch(url, options);
}
スクリプトの解説
このスクリプトでは、Slack APIのchat.postMessageエンドポイントを呼び出します。
APIトークンはBearerトークンとしてヘッダーにセットします。
メッセージを送信するチャンネルとテキストはpayloadオブジェクトとして設定します。
練習問題:トークンを変数に変えてみよう
先ほどのコードで、APIトークンを直接スクリプトに書く代わりに、GASのプロパティサービスを使って安全に管理するように変更してみましょう。
解答・解説
function postToSlack() {
var url = 'https://slack.com/api/chat.postMessage';
var token = PropertiesService.getScriptProperties().getProperty('SLACK_TOKEN');
var payload = {
'channel': '#general',
'text': 'Hello from Google Apps Script!',
};
var options = {
'method': 'post',
'contentType': 'application/json',
'headers': {
'Authorization': 'Bearer ' + token
},
'payload': JSON.stringify(payload)
};
UrlFetchApp.fetch(url, options);
}
PropertiesServiceを使うと、スクリプトに直接トークンを記載せずに、セキュアに管理ができます。まず、GASのスクリプトエディタで「ファイル」→「プロパティ」を選び、そこにSLACK_TOKENを設定します。この方法により、トークンがハードコーディングされず、セキュリティが向上します。