GASとSlackを連携して通知を設定する方法

あの、GASとSlackを連携して通知を設定したいんですけど、どうしたらいいんでしょうか?
猫男
猫男
catman
catman
いい質問だ。catmanが教えてやろう!GASとSlackの連携を設定するには、Slack APIをうまく使いこなす必要があるのだ。

GASとSlackを連携する設定方法

GASとSlackを連携して通知を送るためには、まず基本的な設定を行います。

 

Slack APIの設定方法

最初のステップは、Slack APIを利用するための設定です。

まず、Slackの公式サイトにアクセスして、Slack APIページに移動。

次に、「Create New App」をクリックし、新しいアプリを作成します。

GAS Slack 連携

From scratch

を選び、

GAS Slack 連携

アプリの名前とワークスペースを選択し、「Create App」をクリックします。

GAS Slack 連携

 

必要な権限を設定

SlackアプリがGASからメッセージを送信できるようにするため、適切な権限を設定します。

左側のメニューから「OAuth & Permissions」を選択し、必要なスコープを追加。

GAS Slack 連携

通常は「chat:write」が必要です。

GAS Slack 連携

権限を設定したら、「Install App to Workspace」でアプリをワークスペースにインストールします。

 

GAS Slack 連携

 

最後に色々許可して、準備完了っすね!

GAS Slack 連携

 

えっ。

インストールするボットユーザーがありません

と出たですって??

GAS Slack 連携

 

そんなときは左メニューの

App Home

から

App Display Name

みたいな項目があるので、そこで Edit を押して、Bot名を設定しましょう。

GAS Slack 連携

 

 

GASからSlackへの通知設定

Slackの準備が整ったら、次にGAS内での設定に移ります。ここでは、簡単なスクリプトを作成してSlackに通知を送信します。

GASでのスクリプト作成

GASからSlackに通知を送るための基本スクリプトは以下の通りです。


function postToSlack(message) {
  const url = 'https://slack.com/api/chat.postMessage';
  const token = 'トークンを記入';

  const payload = {
    channel: 'チャンネルIDを記入',
    text: message
  };

  const params = {
    method: 'post',
    contentType: 'application/json',
    headers: {
      Authorization: 'Bearer ' + token
    },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };

  const response = UrlFetchApp.fetch(url, params);
  Logger.log(response.getContentText());
}

function testPostToSlack() {
  postToSlack('GASからSlackへ投稿テストです');
}

このスクリプトは、GASからSlack APIにリクエストを送り、指定したチャンネルにメッセージを投稿します。

スクリプトの動作テスト

GASエディタでスクリプトを実行し、Slackでメッセージが送信されるか確認しましょう。

エディタで実行すると、Slackのチャンネルにメッセージが表示されるはずです。

 

 

GAS Slack 連携

 

えっ、

{“ok”:false,”error”:”not_in_channel”,”warning”:”missing_charset”,”response_metadata”:{“warnings”:[“missing_charset”]}

っていうエラーが出たですって??

もしかしたら、Botがそのチャンネルに参加していないのかもしれません。

該当のチャンネルで

/invite @あなたのボット名

を打ってやれば万事解決するでしょう。

 

Slackにメッセージが送れて…すごい!次にもっと考えられるように頑張ります!
猫男
猫男
catman
catman
何事も練習さ。続けていけば、きっとマスターできるようになるさ。

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。