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スプレッドシートと組み合わせることもできます。

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

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

ピックアップ記事

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

関連記事

  1. Linux

    無料のWindows10仮想マシンをEdge/IE11検証用途で使う

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

  2. Adobe Analytics

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

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

  3. Google Apps Script(GAS)

    GoogleスプレッドシートのデータをGASで整理する【setValue・setValues編】

    こんにちは。エクスチュアの岩川です。前回のgetRangeの…

  4. Adobe Analytics

    Adobe Analyticsに入り切らないデータをBigQueryに投入する

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

  5. Adobe Analytics

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

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

  6. Google BigQuery

    GCP: 今月のGCP課金額をslackに自動的に書き込む

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

最近の記事

  1. 【GA4/GTM】dataLayerを使ってカスタムイベント…
  2. 【GA4/GTM】dataLayerを活用しよう
  3. ジャーニーマップをデジタルマーケティングの視点で
  4. ChatGPT ProからClaude3 Proへ移行した話…
  5. その分析、やり方あってる?記述統計と推測統計の違い
  1. Adobe Analytics

    Adobe Analytics: BigQuery+Lookerでアトリビューシ…
  2. Tableau

    【TC19ブログ】Tableau新データモデリング(リレーションシップ)解説
  3. Adobe Analytics

    Adobe Analytics: BigQueryでパーティシペーション指標を集…
  4. Firebase Analytics

    GoogleAnalytics Apps+Web プロパティをBigQueryと…
  5. ObservePoint

    ObservePoint: Cookieを書いたヤツを見つける
PAGE TOP