【GAS】スプレッドシート と Slackを活用した社内連携(実装編)2/2 

Uncategorized

途中までの実装方法をの説明ページとなります。
Google App Scriptのコードについては、noteにて販売しております。
Slack側、スプレッドシート側の事前準備の方法はこちら

それではここから、以下のアウトプットを出すために、
スプレッドシートの準備、APIのコール、コール後の内容の転記について説明していきます。

スプレッドシート側の準備

スプレッドシートの2つのシートを準備

2024年3月name_Idという2つのシートを作成します。

2024年3月のシートは特に記載は不要です。

一方で、name_Id というシートへ、A列にSlackのメンバーIDを、B列にメンバの名前の記載をしてください。

このシートを準備する意味合いとしては、
SlackのメンバーIDで表示されてもわからないので、そこを紐づけるためのシートとして用意します。
上記をGoogle App Scriptに書き込んでもできるのですが、メンテナンスがいちいち大変なので、
上記のようなシートを用意しました。

SlackのメンバーIDがわからないという方はこのあたりのページで確認くださいませ。

Google Apps Scriptを学びたいという方は以下から

Slackと連携するために必要な情報を整理していく

APIのコールにあたって5つの必要な情報

1.前回の準備編でご案内した「Slackトークン」をご準備ください。

2.抽出したい「チャンネルID」をご準備ください。例) 「XXXXXXXXX1」といった感じのものです。
参照ページ:https://intercom.help/yoom/ja/articles/5480072

3.抽出したい特定のリアクションをご準備ください。 例) ‘あはは’」

4.書き込む先のスプレッドシートのIDをご準備ください。’XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX’
5.あなたのSlackワークスペースの名前をご準備ください。’XXXXX’

ここまで準備できれば、あとはGoogle App Scriptで上記内容で、
‘https://slack.com/api/conversations.history’ というエンドポイントを使って情報を取得、
スプレッドシートへ書き出していくGoogle App Scriptを書いていきます。

Google App Scriptを書いていく

function fetchMessagesWithSpecificReaction() {
  var slackToken = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Slackトークン
  var channelId = 'XXXXXXXXXXX'; // チャンネルID
  var specificReaction = 'XXXXXX'; // 抽出したい特定のリアクション
  var spreadsheetId = 'XXXXXXXXXXXXXXXXXXXXXXXXX'; // スプレッドシートのID
  var workspaceName = 'XXXXXXXXXXX'; // あなたのSlackワークスペースの名前
  
  // スプレッドシートからユーザーIDと表示名のマッピングを読み込み
  var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
  var nameIdSheet = spreadsheet.getSheetByName('name_Id');
  var mappings = nameIdSheet.getRange('A:B').getValues();
  var userIdToNameMapping = {};
  mappings.forEach(function(row) {
    if (row[0] && row[1]) { // 空の行を無視
      userIdToNameMapping[row[0]] = row[1];
    }
  });

以下のGoogle App Scriptはこちらで有料で販売させて頂いております。


『もう諦めなくていいんです』驚きの低価格でECサイトを作ります。
※自社ECサイト構築をお考えのショップオーナー様・WEB担当者様へ朗報です

daredemoECでは、Shopify ECサイト制作サービスを本格開始しました。”売れる”オンラインショップで販路を広げるチャンスです ▼