LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

Dropbox Business APIの基礎知識

DBX Platform デベロッパー ガイドを読んだ個人メモ


DBX Platform developer guide

  • アプリを作成したときにスコープは2種類
    • アプリフォルダー
      • アプリ専用のフォルダー内であればフル権
      • アプリ専用のフォルダーはアプリ作成時には生成されない
         ※アカウントとリンクに作成される
    • フルDropbox
      • ユーザーのフォルダ含めてフル権

Authentication types

ユーザー認証

  • ユーザーのアプリのアクセストークンを利用(ユーザーアクセストークン)
  • ユーザーのアカウントを操作

チーム認証

  • チームのアプリのアクセストークンを利用(チームアクセストークン)
  • アプリの権限で許可されている範囲でチームを操作
  • チームアクセストークンにユーザーアクセストークンを追加することで
    ユーザー認証が必要なAPIの利用が可能

Dropbox-API-Select-User

  • チームメンバーのユーザーアクセストークンを利用する際のヘッダー
  • アプリで許可されている範囲でそのメンバーに代わって操作を行う

Dropbox-API-Select-Admin

  • チーム管理者のユーザーアクセストークンを利用する際のヘッダー
  • アプリで許可されている範囲でその管理者に代わって操作を行う
  • 管理者権限はチーム内のメンバー固有のフォルダ内の読み取りは可能

アプリ認証

  • アプリキーとシークレットを利用
  • ユーザーやチームを識別しない

認証なし

  • 一部のAPIは他パラメータを利用

Namespaces

チームフォルダモデル

  • ルートフォルダは各メンバーごとにもつ
  • ルート配下に共有フォルダとチームフォルダをもつ
    • 共有フォルダ
      • フォルダ内をメンバー間で共有
      • マウントは各々行う(フォルダ名もそれぞれ決められる)
    • チームフォルダ
      • フォルダ内をメンバー間で共有
      • フォルダ名も共有
  • API呼び出し時のルートフォルダは各メンバーのルートフォルダになる
    • 共有フォルダ、チームフォルダもアクセス可

チームスペースモデル

  • ルートフォルダは共通
    • ルート配下に各メンバーごとに個人フォルダーをもつ
  • ルート配下に共有フォルダとチームフォルダ、チームメンバーフォルダをもつ
    • チームメンバーフォルダ
      • メンバー固有のフォルダ
    • 共有フォルダ
      • チームフォルダモデルと同様
    • チームフォルダ
      • チームフォルダモデルと同様
  • API呼び出し時のルートフォルダは各メンバーのチームメンバーフォルダになる
    • チームメンバーフォルダと同階層のフォルダへのアクセスはできない
      • 共有フォルダ、チームフォルダにアクセスするためにはルートの指定が必要
        • Dropbox-API-Path-Rootヘッダーを利用して、root_namespace_idを指定
      • 他のチームメンバーフォルダへのアクセスは別途権限が必要
  • 自身のフォルダが紫色であればチームスペースモデル

teamspace.png

感想

  • ユーザーAPIにはない概念が多いため、追加で理解が必要
    • 特にチームスペースとAPI利用時のルートフォルダ
  • ユーザーAPIと異なり、ファイルアップロードにはアクセストークン以外に
    メンバーIDとルートフォルダIDが必要そう

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0