途中までの実装方法をの説明ページとなります。
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はこちらで有料で販売させて頂いております。