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/

BOX APIでフォルダ一覧の情報とフォルダのコラボレータを取得する(管理者向け)

この記事について

BOXでユーザーが利用してるフォルダの情報を取得したい時に調べたものです。

  • BOXのフォルダ一覧を取得→BOXのフォルダIDを取得
  • BOXのフォルダIDからコラボレータを取得
  • BOXの共有フォルダから不要なコラボレータを削除

などを実施します。

管理者トークンを取得する

BOX管理者ページから管理者トークンを取得します。
トークンは1時間毎に期限がきれるので注意。
https://app.box.com/developers/console

特定のフォルダ配下のフォルダの情報を表示する

curlを利用しjqで整形します。
ここでは、フォルダIDとフォルダ名のみを表示します。
ルートフォルダから確認する場合は、フォルダIDを0にして下さい。
デフォルトで100件まで表示になっています。

curl -i -X GET "https://api.box.com/2.0/folders/フォルダID/items" -H "Authorization: Bearer 管理者トークン" | jq -R 'fromjson?' | jq -r '.entries[]|[.id,.name]| @csv'

フォルダのコラボレータ(共有ユーザ)情報を表示

フォルダのIDを取得し、フォルダのコラボレータ情報を取得します。

そのままjqで整形しようとすると、JSON形式の文字列が入っておりエラーが出るため、
jr -R fromjson?を追加します。

-R : inputを文字列そのままでjqフィルタに渡す
fromjson : JSON化、?を追加してエラー抑制

curl -i -X GET "https://api.box.com/2.0/folders/フォルダID/collaborations" -H "Authorization: Bearer トークン" | jq -R 'fromjson?'

フォルダのコラボレータ(共有ユーザ)の氏名とメールアドレスを抽出する

この値から、entriesのオブジェクトの入れ子となっている、
accessible_byのオブジェクトから、nameとloginのみ抽出する。
最後にsed 's/"//g'で、「"」を取り除きます。

curl -i -X GET "https://api.box.com/2.0/folders/フォルダI/collaborations" -H "Authorization: Bearer トークン" | jq -R 'fromjson?' | jq -r '.entries[]|[.accessible_by[]] | @csv' | sed 's/"//g'

上記を実行すると、
accessibleのオブジェクトの値が出力されるので、
accessibleからコラボレータの氏名と名前のみ取得する。

curl -i -X GET "https://api.box.com/2.0/folders/フォルダID/collaborations" -H "Authorization: Bearer トークン" | jq -R 'fromjson?' | jq -r '.entries[]|[.accessible_by["name"],.accessible_by["login"]] | @csv' | sed 's/"//g'

コラボレーションIDのみを取得する

curl -i -X GET "https://api.box.com/2.0/folders/フォルダID/collaborations" -H "Authorization: Bearer トークン" | jq -R 'fromjson?' | jq -r '.entries[]|[.id] | @csv' | sed 's/"//g

フォルダのコラボレーションを削除する

対象フォルダから取得したコラボレーションIDを利用して、コラボレーションを削除する。
1つのコラボレーション = 1つのフォルダに追加された1ユーザ
となります。

curl -i -X DELETE "https://api.box.com/2.0/collaborations/コラボレーションID" -H "Authorization: Bearer トークン"

参考

BOXのデベロッパーコンソール https://app.box.com/developers/console

フォルダコラボレーションのリストを取得 - APIリファレンス - Box開発者向けドキュメントポータル https://ja.developer.box.com/reference/get-folders-id-collaborations/

フォルダ情報の取得 - APIリファレンス - Box開発者向けドキュメントポータル https://ja.developer.box.com/reference/get-folders-id/

Box APIcurlで叩く -Qiita https://qiita.com/YKInoMT/items/c1a130a783c27e6ae771

SDKを使用しないOAuth 2.0 - Box開発者向けドキュメントポータル https://ja.developer.box.com/guides/authentication/oauth2/without-sdk/

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

関東ITソフトウェア健康保険組合(ITS)の「出産育児一時金・出産育児付加金」の申請方法

以前、つぶやいたもののまとめです。

 

出産の際に給付される金額は2種類、
①法定給付:42万
②付加給付:9万(ITSで追加でもらえる)

 

①と②は、直接支払制度を利用するかによって申請方法が異なります。
直接支払制度は病院が健保に直接出産費用を請求します。

費用を準備する必要がないので、直接支払い制度がおすすめ

 

①法定給付:42万

会社(ITS)への書類の提出はなし。

病院側から直接支払制度の書類が案内されるので、
それを病院へ提出します。

 

②付加給付:9万

出産育児一時金内払金支払依頼書・差額申請書」
という書類を会社へ提出します。
給付の希望時期によって添付書類が異なります。

 

出産後、直接支払制度を利用して健保より病院側に支払いが完了した旨を知らせる、出産育児一時金直接支払通知書」が届きます。

 

これが届くのに出産から2ヶ月~3ヶ月程度かかります

(自分の時も2ヶ月半くらいかかりました)

 

出産育児一時金直接支払通知書」が届けば添付書類は不要なので、申請書のみ会社に提出します。

 

通知書を待たずに付加給付を申請する場合、添付書類が3つ必要なので、通知書到着後に申請するのがおすすめ

 

内容は2021年3月時点のものです。
被保険者、被扶養者どちらも申請方法は同じだと思います。