見出し画像

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

この記事について

Dropboxでグループの管理をしていた時に調べたものです。
※情報は、2021年時点のものとなります。

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

Dropbox APIキーを発行する

事前に、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/

この記事が気に入ったらサポートをしてみませんか?