Zudo Slack Wisdom
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

アクセスとスコープ

スコープ、招待制のデフォルト、そして access.set / access.delete の契約

スコープ

API 全体はちょうど 2 つのスコープでカバーされる:lists:readlists:write だ。どちらも bot(xoxb)トークンとユーザートークンの両方に対応しており、どちらのスコープページにも restricted・sensitive・管理者承認要のマーカーは付いていない。既存のアプリにどちらかのスコープを追加すると、OAuth の 再インストール が必須になる。

出典:lists:write スコープ

スコープは必要条件だが十分条件ではない

リストのデフォルトは招待制 — 「招待された人だけがアクセスできる」だ。正しいスコープを持つ bot トークンであっても、slackLists.access.set によってそのリストが bot のユーザー ID か bot の所属チャンネルに対して明示的に共有されるまでは list_not_found が返り続ける。

管理者トグルによって、プランゲートとは独立にワークスペース単位または組織単位でリストを無効化できる(インデックスページを参照)。さらに別のトグルはリストの共有をオーナーのみに制限でき、その場合 bot は自分が所有していないリストに対して access.set を呼ぶことが一切できなくなる。

未検証

bot が自分で作成して いない リストへの書き込みアクセスをどうやって得るのかは、本当にドキュメント化されていない。slackLists.access.setuser_idschannel_ids しか受け取らず、app_ids その他の bot 用引数はどこにもドキュメントがない。bot 自身のユーザー ID を user_ids に渡せば おそらく 動くはずだが、Slack はそれを明言していない。bot が所属するチャンネルへ共有するのがフォールバックだが、チャンネル共有をしたにもかかわらず list_not_found になったというコミュニティ報告が 1 件ある(ワークフロートークンの文脈であり、xoxb について決定的とは言えない)。リストの作成にある「bot がリストを作る」パターンはこの穴を丸ごと回避する — リストの作成者は暗黙にアクセス権を持つため、bot がリストを作るのがドキュメント上きれいな唯一の経路になる。

access.set / access.delete の契約

slackLists.access.set がアクセスを付与し、slackLists.access.delete がそれを完全に剥奪する。

引数備考
access_levelread | write | owner必須、デフォルトなし。 省略すると呼び出しが失敗する。
user_idsユーザー ID の配列channel_ids と排他。どちらか一方は必須。
channel_idsチャンネル ID の配列user_ids と排他。どちらか一方は必須。
  • read — 「リストへの読み取りアクセスを付与する」

  • write — 「リストへの読み取りと書き込みのアクセスを付与する」

  • owneruser_ids で指定したユーザーをオーナーにする

オーナーはユーザー限定。 access_level: "owner"channel_ids と組み合わせると invalid_arguments が返る — オーナーになれるのはユーザーだけで、チャンネルは決してなれない。

Slack はまさにこの「読み取り専用ダッシュボード」のケース向けに、既成のサンプルを用意している:

{ "list_id": "F1234567", "access_level": "read", "channel_ids": ["C7654321"] }

slackLists.access.deleteaccess_level 引数を取らない — これは完全な剥奪であり、格下げではない。あるエンティティを write から read へ落とすには、read を指定して access.set を呼び直す。

未検証

より低い access_level を指定して access.set を呼び直したときに、既存の付与が実際に格下げされるのか(それともメソッド名が "set" である以上 no-op なのか)は、Slack のドキュメントのどこにも明言されていない。完全な access.delete + 再付与を除けば、これが唯一のドキュメント化された降格経路だ。

付与は書き込み専用 — 監査のための読み返しはできない。 access.listaccess.getslackLists.info も存在しない。付与は書き込み専用であり、あるリストに対して現在誰が read を持ち誰が write を持っているのかをプログラムから列挙することはできない。唯一の監査経路は UI の共有ペインだ。

スコープ:lists:write(bot トークンとユーザートークン)。レート制限:Tier 3(50+/分)。有料プランが必要 — 有料プランによるゲートを参照。

出典:slackLists.access.set

xwfp トークンのバグ

Workflow Builder の xwfp トークンで items.create / items.update が失敗するという未解決のバグが報告されている。これは xwfp に固有の問題であり、標準の bot(xoxb)トークンには影響しない。

出典:slackapi/deno-slack-sdk#472(2026-08 時点でまだオープン)。

Revision History

作成更新