Google Apps Script(GAS)

【Google App Script】GASを利用してslackに投稿するbotを作る

こんにちは、エクスチュアの岩川です。

業務でSlackを使用されている方も多いと思います。

今回はそんなSlackにGASから送信したデータを出力する方法を記載したいと思います。

GASの基礎や他アプリケーションとの連携については是非他記事をご覧ください


Slack側の準備

1. SlackAPIの設定ページにアクセスし、【Create an App】もしくは【Create New APP】をクリックします。

※既にSlack Appを作成済みかどうかで文言が変わります

2. 【From scratch】を選択し、App Nameに任意の名称をつけ、Development Slack Workspaceで利用したいSlackのワークスペースを選択し【Create App】をクリックします。

3. メニューの【OAuth & Permissons】を選択します。

4. 【Scopes】>【Bot Token Scopes】内の【Add an OAuth Scope】をクリックします。

5. それぞれ【chat:write】【chat:write.public】を設定します。

・chat:writeは書き込むことが出来る権限を与えます

・chat:write.publicはパブリックチャンネルに許可なしで書き込むことが出来る権限を与えます

6. 【Features】から【App Home】を選択し、【App Display Name】で【Edit】ボタンをクリックします。

7. 【Display Name (Bot Name)】と【Default username】を設定し、【Add】ボタンをクリックします。

※ Display Name (Bot Name)はbotの表示名です

※ Default usernameはbotユーザーを検索する時などに使います

8. 【Setting】の【Install App】を選択し、【Install to Workspace】ボタンをクリックします。

9. Slackbotの権限リクエスト画面が表示されるので、問題がなければ【許可する】ボタンをクリックしてください。

10. 【Bot User OAuth Token】に後に必要なトークンが表示されているので【Copy】ボタンをクリックし、どこかに控えておきましょう。

以上でSlack側の準備は完了です。

GAS側の準備

1. GASのスクリプトページを開きます。

2. ライブラリの【+】ボタンをクリックします。

3. 【スクリプトID】に以下のコードを入力し、【検索】ボタンをクリックしてください。

SlackAppを利用するためのスクリプトID

1on93YOYfSmV92R5q59NpKmsyWIQD8qnoLYk-gkQBI92C58SPyA2x1-bq

4. IDが”SlackApp”になっているのを確認し【追加】ボタンをクリックしてください。

以上でGAS側の準備も完了です。

実際にコードを書いてみる

1. GASのコードに以下のコードを記述してみましょう。

function myfunction() {
  let token = "xoxb-XXXXXXX";
  let slackApp = SlackApp.create(token);
  let channelId = "#general";
  let message = "testメッセージです";
  slackApp.postMessage(channelId, message);
}

2. 【実行】ボタンをクリックします

すると以下のようにSlackのgeneral チャンネルに自動メッセージが送信されていることがわかります。


このように準備は大変でしたが、GASからSlackへのメッセージ送信を簡単にできるようになりました。

そして今までの記事の内容を組み合わせることで、定期的に実行したりスクレイピングやGoogleスプレッドシートと組み合わせることもできます。

エクスチュアでは様々なお悩みを真摯にお手伝いいたします。

こちらからお気軽にお問合せください。(リンク)

Snowflake Summit2023 振り返り前のページ

Tableauのヘックスタイルマップでヒートマップを地図上に粗く表現する次のページ

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Adobe Analytics

    Adobe Mobile SDK 4.xからAEP SDKに移行する

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Ado…

  2. Databricks

    Databricks: Delta Lakeを使ってみる

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  3. Databricks

    Databricks: Spark RDDで使う主なメソッド

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  4. Adobe Analytics

    AdobeAnalytics: スクロールで目標に到達したらカスタムリンク

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Ado…

  5. Google Cloud Platform

    Node.js+GAE: 日本語自然文を形態素解析してネガポジ判定をする

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  6. Google Apps Script(GAS)

    Google App Scriptを特定のタイミングで自動で動かしたい

    こんにちは。エクスチュアの岩川です。さて、前回に引き続きGA…

カテゴリ
最近の記事
  1. Dataformでtype:’increment…
  2. dbt Projects on SnowflakeをTASK…
  3. AWS発のAIエージェントIDE「Kiro」を使用した仕様駆…
  4. AWS発のAIエージェントIDE「Kiro」を使用した仕様駆…
  5. TableauとSnowflakeを接続する方法
  1. Siteimprove

    Siteimproveを知る。
  2. Google Apps Script(GAS)

    文字列置換アプリを作成しました
  3. Mouseflow

    訪問者の不満を見つける
  4. Excel

    Google Analytics URLクエリパラメータ 簡単削除方法
  5. Adobe Analytics

    Adobe Analytics: BigQueryでパーティシペーション指標を集…
PAGE TOP