presents by IT Consulting 109

Slack – 投稿内容の取得

概要

Slackのチャンネルへの投稿を取得する方法について記載。

 

手順

■トークンIDの取得
次のURLに発属して legacy-tokens を取得します。

https://api.slack.com/custom-integrations/legacy-tokens

サイト内の Legacy information 項目の Legacy token generator でAPIトークン作成・取得します。

 
 
■チャンネルIDの確認
チャンネルIDは、WEBでSlackを立ち上げて対象のチャンネルを表示した際に、URLで確認できます。

https://example.slack.com/message/チャンネルID

ディスクトップアプリを使用の場合は、対象のチャンネルで右クリックした際に表示される「リンクを開く」または「リンクをコピー」することで確認できます。

 
 
■投稿内容の取得
トークンIDとチャンネルIDが取得できたら、情報を用いて投稿内容を取得してみます。
 
◆CURLを使用して取得

curl 'https://slack.com/api/channels.history?token=[トークンID]&channel=[チャンネルID]&pretty=1'

投稿内容は取得できると思いますが、このままでは毎回すべての投稿内容が取得されてしまいます。

 
 
一定期間の投稿のみに絞り込む場合は oldest オプションを利用します。

oldest オプションはタイムスタンプを指定しますが、現在の時刻を基準に動的に遡った方が利便性があると思います。

◆過去1分間に投稿された情報のみ取得

ts=`date -d '1 minutes ago' +%s`
curl 'https://slack.com/api/channels.history?token=[トークンID]&channel=[チャンネルID]&pretty=1&oldest='$ts

 

補足

◆ファイルに出力

ts=`date -d '1 minutes ago' +%s`
curl 'https://slack.com/api/channels.history?token=[トークンID]&channel=[チャンネルID]&pretty=1&oldest='$ts -o slack.log
この記事を書いた人
名前:TRUE's。 千葉県育ち、神奈川県在住のIT系フリーエンジニア。 IT系のナレッジサイトを不定期で更新中。 フォトグラファー兼エンジニアとして日々勤しんでいる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です