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. Google Apps Script(GAS)

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

    こんにちは、エクスチュアの岩川です。突然ですがテキストツール…

  2. Adobe Analytics

    Adobe AEP SDKをTypeScriptで開発したReactNativeアプリに実装する

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

  3. Adobe Analytics

    Adobe AEP SDK: リバースプロキシを使ったアプリ計測検証方法

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

  4. Google BigQuery

    BigQueryでWindow関数を用いて、累積和を計算する

    こんにちは。エクスチュアでインターンをさせて頂いている中野です。今…

  5. Google Apps Script(GAS)

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

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

  6. Google Analytics

    Cloud FunctionsとOpenWeather APIを使ってGoogle Analytic…

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

カテゴリ
最近の記事
  1. 真打ち登場LOD ~TableauのEXCLUDE関数を知ろ…
  2. DataformでactAs権限に適合する設定をする
  3. 真打ち登場LOD ~TableauのINCLUDE関数を知ろ…
  4. 真打ち登場LOD ~TableauのFIXED関数を知ろう~…
  5. 真打ち登場LOD ~Tableauで苦戦するアイツを知ろう~…
  1. KARTE

    KARTE Blocks データプランナーの強い味方!!
  2. Canva

    Canva×生成AIで“映える”ダッシュボードモックを爆速で作っ…
  3. Snowflake

    Snowflake Summit 2025 参加レポート【Day4】
  4. Snowflake

    Snowflake Summit 2025 参加レポート【Day1】
  5. Adobe Analytics

    Adobe Analytics:ワークスペースでコンボグラフを作ってみる
PAGE TOP