はじめに
このページでは、より詳細なGoogle apps scirptの実装方法について説明します。
Google App Scriptのコードの詳細を note にて販売しております。
早速、スプレッドシートの準備、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」といった感じのものです。
参照ページ:こちら
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はこちらで有料で販売しておりますので、よろしければご購入いただき実装していただければと思います。
Google apps scirptだけじゃなく、Slackアプリの設定、スプレッドシートを調べたいという方はこちらからご確認ください。