新しい OneDrive API はフル機能にアクセスできる
先月の 2015/2/25 に新しい OneDrive の API が公開 されました。これまでの提供されていた API は、OneDrive と連携したアプリ開発向けの API という感じでしたが、今回は、OneDrive のフル機能を提供するとのこと。また OneDrive のすべてのアプリ自身が、新しい API を使い始めているとのことです。
OAuth2 の利用と、RESTful API で基本どのプラットフォームからも使えます(これまでと同じ)。
公式 Blog では、新しくできる機能として次の3つをあげています。
- ファイルやフォルダーの同期情報の取得
- 10GB までのファイルを分割してアップロード(レジューム機能)
- ファイルのサムネイルのカスタマイズ
ファイルの検索もできるようになっています。RESTful & OAuth2 自体ははこれまでと同じですが、複数のドライブの概念の追加や、パスの指定方法、JSON 結果の中身など使いやすくなっている印象です。
細かなできないことは、ありそうですが(ごみ箱や、ファイルの共有の種類、アカウント機能や別サービスと密接に関連していることなど)、OneDrive と同等なサービスが作れる魅力的な API かもしれません。
OneDrive API 開発者向けサイト
開発者向けの OneDrive API もこれまでの内容から刷新され、GitHub 上に公開されています。※ 日本語で見つかる OneDrive API のサイトは(現時点では)旧 API 情報なので注意です。
ドキュメント、ブラウザで API の操作ができるコンソール、サンプルへのリンクがあります。
サンプル
HTML + JavaScript のサンプル onedrive-explorer-js を動かしてみました。OneDrive のエクスプローラーです(これ自体は、いままでの API でもできそうですが)。
まず、実行結果から。sign in リンクから、認証を行います。
認証後の画面は OneDrive 風の画面と結果の JSON を確認できます。
実行方法
動かすためには、アプリの登録が必要です。OAuth の認証後のリダイレクト先の URL を登録する必要があり、localhost や IP アドレスでは指定できません。
アプリの登録は、Microsoft アカウント デベロッパー センター にアクセスして、アプリを作成します。「API 設定」の項目で、リダイレクト URL を入力します(URL + callback.html です)。
サンプルの index.html 内の clientId="0000000048144E4F" と redirectUri="https://onedrive.github.io/odx/callback.html" 部分を、アカウント デベロッパー センターの「アプリケーション設定」の「クライアント ID」の値と、設定したリダイレクト URL に書き換えます。
以上で、実行できます。
アプリ登録に関しては、OneDrive authentication and sign-in に記載があります。