技術ブログ

プログラミング、IT関連の記事中心

GASでSlackAPIを使用してチャンネルにメッセージを送信する方法

目次

事前準備

Slack Appを作成していない方は、以下の記事を参考にSlack Appを作成してください。

https://reigle.info/entry/2022/10/19/100000reigle.info

以下の記事を参考にSlack Appの「OAuth Tokens for Your Workspace」を生成しておいてください。

https://reigle.info/entry/2022/10/21/100000reigle.info

権限の追加

以下の記事を参考に、「chat:write」の権限を追加します。

https://reigle.info/entry/2022/10/20/100000reigle.info

チャンネルにSlack Appの追加

以下の記事を参考に、チャンネルにSlack Appを追加しておいてください。

https://reigle.info/entry/2022/10/23/100000reigle.info

メッセージの送り先のチャンネルIDの確認方法

Slackアプリのサイドバーから、送信したいチャンネルを開く。(以下はgeneralチャンネルの例です)

チャット画面の上部に表示されているチャンネル名を押下する。

チャンネルIDの箇所を押下する事で、クリップボードにコピーされます。

GASでチャンネルにメッセージを送信する方法

「Google Apps Script」を開き、以下を貼り付ける。

const BOT_USER_OAUTH_TOKEN = "xoxb-XXXXXX";
const CHANNEL_NAME = "XXXXXX"
const MESSAGE = "テスト"

function slackPostChannel() {
  const message_options = {
    "method" : "post",
    "contentType": "application/x-www-form-urlencoded",
    "payload" : {
      "token": BOT_USER_OAUTH_TOKEN,
      "channel": CHANNEL_NAME,
      "text": MESSAGE
    }
  };

  UrlFetchApp.fetch("https://slack.com/api/chat.postMessage", message_options);
}

定数の内容はそれぞれ以下を参考に書き換えてください。

BOT_USER_OAUTH_TOKEN」には、「事前準備」に記載の「OAuth Tokens for Your Workspace」で生成したTokenを貼り付けてください。
CHANNEL_NAME」には、「メッセージの送り先のチャンネルIDの確認方法」で取得したチャンネルIDを貼り付けてください。
MESSAGE」には、送信するメッセージを任意で記載してください。


slackPostChannel」関数を実行した結果、該当のチャンネルにメッセージが届いているれば成功です。