Google Apps Scriptを使用してSlackのAPIを活用したうえで、スレッドに投稿する方法を解説します。スレッドに必要な投稿をすることで、タイムラインが整理されて情報のやり取りが円滑に行えます。このガイドでは、Google Apps ScriptとSlackのAPIトークンを組み合わせて、簡潔で効果的なコード例を提供します。
Contents
使うメソッドはchat.postMessage
まず、APIで使うメソッドはchat.postMessageであることを理解しましょう。chat.postMessageは、指定したチャンネルにメッセージを投稿することができるメソッドです。先に公式ドキュメントを見たい場合は以下をクリックしてください。
slackの「chat.postMessage」の公式ドキュメント
chat.postMessage method | Slack
chat.postMessage method | Slack
スレッドに変身するならchat.postMessageのメソッドに「thread_ts」のパラメータを追加する
chat.postMessageのメソッドはチャンネルを指定することでメッセージを投稿することができますが、該当メッセージのスレッドに投稿したい場合は、該当メッセージのタイムスタンプが必要です。そして、該当メッセージのタイムスタンプをパラメータに付与してAPIをたたくことでスレッドに変身することができます。
メッセージをスレッドに投稿するGASのコード例
以下にメッセージをスレッドに投稿するGASのコード例を紹介します。以下はコード例ですので、実装するときに自身で用意が必要な情報がありますので、補足も併せて確認してください。
コードの補足(コード内の定数)
- accessToken
- slackのAPI(https://api.slack.com/apps)からトークンを取得してください。
- channelId
- メッセージを投稿するslackのチャンネルIDを記載してください。
- message
- スレッドに投稿するメッセージを記載してください。
- ts
- スレッドに投稿するメッセージのタイムスタンプを指定します。
- メッセージからタイムスタンプを取得するときは、メッセージの「リンクをコピーする」でURLを取得したら、URL末尾の数字がタイムスタンプです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
function postThreadsMessage() { const accessToken = 'slackのアクセストークン'; const channelId = "C00000000000"; //投稿したいチャンネルID const message ="スレッドに投稿するメッセージ"; const ts = "1692864516.652039" // スレッドに投稿するメッセージのタイムスタンプ const endpoint = 'https://slack.com/api/chat.postMessage'; const payload = { 'channel': channelId, 'text': message, 'thread_ts':ts } const options = { 'method': 'post', 'headers': { 'Authorization': `Bearer ${accessToken}`, 'Content-Type': 'application/json' }, 'payload': JSON.stringify(payload) }; UrlFetchApp.fetch(endpoint, options); } |