Dropbox APIでグループ一覧とグループのメンバーを表示する

この記事について

Dropboxでグループの管理をしていた時に調べたものです。 * Dropbox の管理者向け * Dropbox APIを利用して、対象テナントのグループ情報を取得したい * 特定のグループに属しているメンバーの情報を取得したい

Dropbox APIキーを発行する

事前に、Dropbox API キーの発行が必要。
権限はチームメンバーの表示が必要です。

参考
Dropbox API: アプリの権限とアクセス トークンの移行

[ご対応のお願い] 2021 年 9 月 30 日に Dropbox API 仕様の一部が変更されます

対象コンテナ(テナント)の全てのグループ一覧を表示する

グループ一覧とその情報を表示する(jqコマンドで整形)
表示件数は1000件にしています。

curl -X POST https://api.dropboxapi.com/2/team/groups/list --header "Authorization: Bearer トークン" --header "Content-Type: application/json" --data "{\"limit\": 1000}"  | jq .

以下のような形で出力されます。

{
  "groups": [
 
中略
 
{
      "group_name": "グループ名",
      "group_id": "グループID",
      "group_external_id": "",
      "member_count": メンバー数,
      "group_management_type": {
        ".tag": "company_managed" ※企業管理グループの場合
      }
 
  ],
 …

上記のコマンドで、
グループ名とグループIDのみ取り出して、CSV形式へ変換、「"」を取り除く

curl -X POST https://api.dropboxapi.com/2/team/groups/list --header "Authorization: Bearer トークン" --header "Content-Type: application/json" --data "{\"limit\": 1000}"  | jq -r '.groups[] | [.group_name, .group_id] | @csv' | sed 's/"//g'

下記のような形で出力される。

グループ名,グループID

グループIDを指定してメンバー一覧を表示

対象のグループに属しているメンバーの情報全てを表示する場合

curl -X POST https://api.dropboxapi.com/2/team/groups/members/list --header "Authorization: Bearer トークン"  --header "Content-Type: application/json"   --data "{\"group\": {\".tag\": \"group_id\",\"group_id\": \"グループID\"},\"limit\": 1000}" | jq .

対象グループのメンバーの名前とメールアドレスのみ表示する。
グループIDは対象グループのものに変更する。
名前とメールアドレス以外の物を表示したい場合は、members配列から表示する要素名を追加、変更する。

curl -X POST https://api.dropboxapi.com/2/team/groups/members/list --header "Authorization: Bearer トークン"  --header "Content-Type: application/json"   --data "{\"group\": {\".tag\": \"group_id\",\"group_id\": \"グループID\"},\"limit\": 1000}" | jq -r '.members[] | [.profile.name.display_name,.profile.email] | @csv’

下記のように出力される

氏名,メールアドレス

参考

Dropbox API Console
https://www.dropbox.com/developers/apps

Dropbox API reference
https://www.dropbox.com/developers/documentation/http/documentation

jq Tutorial
https://stedolan.github.io/jq/tutorial/