このたび Dropbox では、 Dropbox Extensions をすべての開発者向けに公開しました。この機能を利用すると、ユーザーは Dropbox から直接アプリを開けるようになります。
たとえば Dropbox での作業中に猫の写真を編集したくなったら、ブラウザの新しいタブを開き、写真編集アプリに移動し、Dropbox からファイルをアップロードし、写真を編集し、最後に Dropbox に保存し直す、という面倒な手順が必要になります。もし Dropbox からファイルをクリックするだけで一連の作業が完了したら、作業効率は飛躍的に向上するでしょう。
この記事では、Dropbox Extensions の概要と設定に必要な作業について説明します。技術的な詳細情報については、Extensions ガイドをご覧ください。
目次
1. Dropbox Extensions とは
Dropbox はこれまで、PDF の編集や電子署名の依頼などの作業フローを Dropbox から直接開始するための Extensions をパートナーと連携して数多くリリースしてきました。今回のリリースでは、Extensions プラットフォームをすべてのデベロッパーに開放し、標準的な OAuth フローと Dropbox API v2 を使用して、Extensions を Dropbox アプリに追加できるよう取り組んでいます。
エンド ユーザーから見ると、Dropbox Extensions は次のように動作します。
ユーザーが自身の Dropbox アカウント内で Extension を表示させて使用するためには、まず OAuth 2.0 経由で Extension を承認する必要があります。OAuth フローは、通常の Dropbox アプリと同様、開発者のウェブサイトから開始する必要があります。
[Dropbox ファイルの Extensions]
ユーザーがアプリを承認すると、Dropbox の[開く]メニューまたは[共有]メニューに Extension が表示されるようになります(どちらのメニューを表示するかはデベロッパーがアプリの設定で指定できます)。ユーザーが Extension をクリックすると、Dropbox API を操作するための一意のファイル識別子とともにアプリにリダイレクトされます。この時点で、ユーザーはアプリ側のワークフロー(写真の編集など)に遷移したことになります。アプリでファイルに対する操作を行った後は、その結果を Dropbox に保存してワークフローを完了することをおすすめします。
2. Dropbox アプリに Extensions を追加する
Dropbox Extensions は Dropbox アプリの機能であるため、既存のアプリに追加することも、アプリ コンソールからアプリを新規作成して使用することもできます。ただし、Extensions は Dropbox へのフル アクセス権を持つアプリでなければ使用できません。スコープが指定されたアプリの場合は、files.metadata.read 以上のスコープが必要になります。
アプリを作成すると、そのアプリの[Settings]タブに[Extensions]セクションが表示されます。
このセクションで、Extension URI など Extension に関する設定を行うことができます。Extension URI は、file_id など選択したファイルに関する情報の送信先となる URI です。この file_id と、ユーザーの OAuth フローに含まれるアクセス トークンを使用することで、Dropbox API エンドポイントを呼び出すことができます。たとえば、ユーザーを特定するための /users/get_current_account、ファイルをダウンロードするための /files/download、ユーザーが選択したファイルの詳細情報を取得するための /files/get_metadata などです。スコープが指定されたアプリの場合は、アプリの[Permissions]タブで適切なスコープを設定する必要もあります。
Dropbox へのフル アクセス権を持つアプリがすでにある場合は、そのアプリの[Settings]タブに[Extension URI]セクションが表示されます。
[Extensions]セクションの設定が完了すると、OAuth フローを実施していない状態の Extension がテスト用としてデベロッパーのアカウントに表示されます。テストが完了したら、その Extension の表示設定を変更して、アプリを承認したユーザーに表示することができます。なお、既存のアプリに Extension を追加する場合、アプリを承認済みのユーザーが再度承認を求められることはなく、それぞれの Dropbox アカウントに Extension が表示されます。
3. Dropbox Extensions を実装する
Dropbox Extensions を使用すると、ユーザーは作業中のファイルから直接アプリに移動できるようになります。Dropbox Extensions の開発者ガイドでは、技術的な内容を詳しく解説していますので、Extensions アプリを実装する際にはこちらをご覧ください。またご意見やご要望がありましたら、コミュニティ フォーラムにお寄せください。