Dropboxでは、500,000以上のチームがDropbox Businessのコラボレーション機能を利用しています。機能豊富なDropbox APIを活用することで、ビジネスユーザーはコンテンツやチームの管理をプログラムで実行することができます。
Dropbox BusinessにはWebベースの管理コンソールがありますが、ユーザーのオンボード/オフボードなど、Dropboxチームの管理作業のいくつかは、APIを使うことでより効率的に行うことができます。例えば、チームから多数のメンバーを削除する必要がある場合、スクリプトを実行した方が、手動で一人ずつ削除するよりもはるかに速くなります。
特定の管理作業は、複数のAPIリクエストを組み合わせて、順次実行したり、条件付きループで実行したりすることで行われます。このようなワークフローをDropbox APIで実装する方法を、簡単に実行できて、なおかつビジネスニーズの変化に合わせて改良できるように拡張性も兼ね備えた形式で示す方法を探していました。
そこで登場したのが、1,000万人以上のユーザーが登録しているAPI Lifecycle Platformの「Postman」です。これは、新しいAPIを学ぶためのスマートな方法です。Postmanには、リクエストのコレクションを作成したり、リクエストを発行する前と後にスクリプトを実行したり、複数のリクエストを連続して実行したりするなど、多くの機能があります。また、APIネットワークがあり、企業はエンドポイントのコレクションを公開して、多くの開発者や管理者にパブリックAPIを公開することができます。
リクエストを連続して実行する機能とコレクションを公開する機能を組み合わせたPostmanは、お客様が要望していた管理ワークフローを構築して配布するのに最適なプラットフォームであると考えました。私たちは、2020年のHack Week(全社的な年次ハッキングイベント)で、Dropbox Team Admin Workflowsコレクションの最初のバージョンを構築しました。Dropbox の大規模な展開を支援ししてきた経験のあるテクニカルアーキテクトのチームは、すでに Postman を使ってお客様をサポートしていました。お客様からのフィードバックをもとに、本コレクションのワークフローを定義しました。ワークフローの一部をご紹介します。
- ユーザーの一括登録とグループへの追加
- 転送先を指定してメンバーを一括削除する
- 転送先を指定せずにメンバーを一括削除する
- メンバーの一括一時停止
- メンバーの一括一時停止解除
- グループへのユーザーの一括追加
- Eメールアドレスの一括更新
- グループの一括追加
- 外部IDのワイプ
- 外部IDの一括更新
それでは、コレクションを見てみましょう。下の図は、Postman API NetworkのDropboxのページです。
Postmanからコレクションを追加するには、Dropbox Team Admin Workflowsで「Run In Postman」ボタンをクリックします。
コレクションをインポートした後は、省略記号をクリックして「View Documentation」を選択し、ドキュメントをチェックすることをお勧めします。
自分のDropboxチームで試すためには、認証情報を提供する必要があります。ドキュメントには、Dropboxアカウントからアクセストークンを取得し、コレクションに追加する方法が記載されています。
このコレクションの各ワークフローはフォルダであり、PostmanのCollection Runnerを使って実行することができます。特定のワークフローを実行するには、フォルダを選択して「Run」ボタンをクリックし、Collection Runnerを起動します。
Collection Runnerにフォルダを指定すると、Collection Runnerはフォルダ内の順序に従ってリクエストを順次実行しますが、スクリプトを使用してフローを定義することもできます。
リクエスト間でデータを保存するためには、Postman変数を使います。Postmanには、ローカルからグローバルまで、いくつかの変数のスコープがあります。このコレクションでは、主にコレクション変数を使用しました。これは最も権限の少ないスコープで、リクエスト間で値を渡すことができます。
Postman の Tests スクリプティングエンジンを使用すると、これらの変数にアクセスすることができます。また、別のリクエストにジャンプしたり、条件付きループを実行したりしてワークフローを構築することもできます。これには setNextRequest() メソッドを使用します。コレクションのサンプルスクリプトを見てみましょう。シンプルな if-else ステートメントで、Dropbox API エンドポイントから取得したレスポンスに基づいて、異なるリクエストを呼び出すことができることに注目してください。
Postman が使用しているスクリプト言語は、Node.js をベースにしています。Postmanのスクリプトドキュメントを読むことをお勧めします。すぐにお客様のニーズに合わせて、このスクリプトを修正したり、新しいスクリプトを作成したりすることができると思います。Team Admin Workflowsコレクションは、すでにお客様に使用されており、管理者がチーム管理をするのに役立っています。
Dropbox Business API を使用したチーム管理についてより詳しく知りたい場合は、「Dropbox Team Administration Guide」をお読みいただくことをお勧めします。チームの文脈での共有のための API の使用についてさらに詳しく知りたい場合は、ブログ記事「Manage Team Sharing in your Dropbox App」をお勧めします。
Postmanのもう一つのエキサイティングな機能は、Public Workspacesです。Public Workspacesを使えば、チームは自分のコレクションを外部のユーザーと共同作業することができます。PostmanのDropbox Public Workspacesにアクセスすると、チーム管理ワークフローやその他のコレクションを見ることができます。
今後も、ユーザーAPIを使った一般的な操作を紹介するなど、他のコレクションを公開することで、Postmanをさらに探求していきたいと考えています。我々のPostmanコレクションで何ができるのか、ぜひ時間をかけて調べてみてください。コーディングのスキルがあれば、独自のワークフローを作成したり、既存のものを改良することもできます。コレクションをフォークしたり、プルリクエストをしたりして、よりよいものにしていきましょう。そして、デベロッパーフォーラムで、みなさまからのご意見をお待ちしております。
<関連記事>
Dropbox Business API の概要
[ご対応のお願い] 2021 年 9 月 30 日に Dropbox API 仕様の一部が変更されます
本記事は “Dropbox Postman Collection for Team Admin Workflows” の翻訳となります。