Slackチームのすべての「グループ」のリストを取得しようとしています。ただし、管理者権限がある場合でも、groups.list
は、トークンの所有者のアカウントが属するグループのみを提供します。
私の研究で見た最も近い解決策は、ボットをチャンネルに座らせることです。ボットのメンバーシップにより、ボットはチャネルでレポートを作成できますが、プログラムでリストすることはできないという事実にもかかわらず、ボットをすべてのプライベートチャネルに取り込むというロジスティック上の問題があります。
私がプライベートチャンネルのリストを掘り下げるために使用したコード:
import requests
import json
token = '...'
r = requests.post('https://slack.com/api/groups.list', data={'token': token, 'exclude_archived': 1})
if r.ok:
privatechannels = { c['id']: c['name'] for c in json.loads(r.text)['groups'] }
print(privatechannels)
スラック プライバシーポリシー はこれをサポートしていません。
私たちが従う最も基本的なプライバシーの原則は、デフォルトでは、Slackに投稿するものはすべてチームに限定されるということです。つまり、特定のチーム内で共有されているメッセージとファイルを表示するには、そのチームのメンバーとしての認証が必要です。
同社の今後の有料Plusプランには、コンプライアンスエクスポートと呼ばれるオプション機能が含まれます。これにより、管理者は、パブリックメッセージとプライベートメッセージを含め、チームのコミュニケーションにアクセスできます。
これは、あなたが所属していないプライベートチャンネルにアクセスするのに最も近い方法ですが、書面での手紙が必要です... 詳細はこちら
Slackワークスペースのすべてのプライベートチャネル(およびDM)をリアルタイムで監視する必要がある場合は、別のアプローチがあります。
conversations.list
でコンパイルします。conversations.history
を使用してすべての既存の会話を反復処理し、その会話に有効なトークンを使用してすべてのメッセージを収集します。