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

    Google App ScriptでWebアプリを作る

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

  2. Adobe Analytics

    AdobeAnalytics: s.Util.getQueryParam で複数パラメータ同時取得

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

  3. Google Apps Script(GAS)

    GASを利用してWebスクレイピングをやってみよう

    Webスクレイピングとはスクレイピングとはデータを収集し、使…

  4. Google BigQuery

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

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

  5. Databricks

    Databricks: Spark DataFrameでピボットグラフを作る

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

  6. Adobe Analytics

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

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

最近の記事

  1. Streamlitを使った簡単なデータアプリケーション作成ガ…
  2. 生成AI機能を活かしたデータカタログ製品「Secoda」を試…
  3. 回帰分析はかく語りき Part2 重回帰分析
  4. 第14回関西DB勉強会-Snowflake Summit参加…
  5. Open Interpreter+VScode+Docker…
  1. Adobe Analytics

    Adobe Analytics:IF関数を使用した計算指標
  2. 海外カンファレンス

    Adobe Summit 2018 参加レポート(M)
  3. Data Clean Room

    セッション資料:第13回関西DB勉強会 Snowflakeデータクリーンルーム
  4. ブログ

    カスタマージャーニー作成
  5. Google Tag Manager

    GTMの検証でプレビューのSummaryを上手く使う
PAGE TOP