対象: 新Office365 Office 365 Enterprise, Office 365 Small Business, Office 365 Midsize Business
(この記事は 2014 年 9 月 3 日に Office Blogs に投稿された記事 New OneDrive SDK: announcing the Android open file pickerの翻訳です。最新情報については、翻訳元の記事をご参照ください。)
OneDrive では、ファイルを開くという操作は非常に基本的なもので頻繁に行われます。しかし残念なことに、この単純な操作は、開発者にとってはそれほど単純なものではありませんでした。マイクロソフトではこの問題点を把握していて、今回、Android 向け OneDrive のファイル オープン ピッカーをリリースしました。これにより、開発者および OneDrive ユーザーにとって、ファイルを開くという一般的なタスクが簡単でシームレスなものになります。
これまで開発者は、ユーザーが OneDrive でファイル選択の操作を行えるようにするためにファイル オープン ピッカーの UI やその他すべてのコンポーネントを構築する必要があり、貴重な時間を浪費していました。このためマイクロソフトでは、開発者の時間節約を目指し、機能の開発を進めてきました。
従来ではファイルを開く操作が行えるようになるまで数日間を要していましたが、Android 向け OneDrive ピッカーを使用すると、わずか数分でできるようになります。このピッカーでは、ファイルのコンテンツを直接ダウンロードできるリンクを作成したり、リンクを表示して共有しやすくしたり、画像ファイルのサムネイルのセットを表示したりできます。
Android 向けファイル オープン ピッカーの操作の流れ
この機能を使用するには、SDK をダウンロード (または GitHub (英語)で内容を確認) して、ご利用の Android アプリに数行のコードを追加します。これで、Android 向け OneDrive アプリでネイティブにファイルを開けるようになり、OneDrive および OneDrive for Business に格納されている無数のファイルがいつでも利用できるようになります。このとき、OAuth を扱ったり、ファイル階層の走査や自作の UI を実装したりする必要はありません。
Android 向け OneDrive ピッカーは、Ice Cream Sandwich およびそれ以降にも対応しており、Android のいずれのバージョンでも同じように簡単かつスムーズにファイルを開くことができます。
Android 向け OneDriveピッカーの利用開始
SDK を使用して OneDrive からファイルを開けるようにするには、onClick() から OneDrive ピッカーを起動するクリック ハンドラーをセットアップします。次に示すスニペットは、LinkType.DownloadLink を使用してダウンロード リンクを要求するものです (Web プレビューのみが可能な共有リンクを要求する場合は、LinkType.WebViewLink に変更します)。
import com.microsoft.onedrivesdk.picker.*;private IPicker mPicker;private String ONEDRIVE_APP_ID = "<app_id>"; // 次の URL でアプリの ID を取得: https://account.live.com/developers/applications// OneDrive ピッカーを起動する onClickListenerprivatefinal OnClickListener mStartPickingListener = new OnClickListener() {@OverridepublicvoidonClick(final View v) { mPicker = Picker.createPicker(ONEDRIVE_APP_ID) mPicker.startPicking((Activity)v.getContext(), LinkType.DownloadLink); }};
このコード スニペットでは、onClick() が呼び出されるとすぐに startPicking() メソッドが OneDrive ピッカーを起動します。
その後、ピッカーの結果を取得します。ユーザーがピッカーからファイルを開いたり、キャンセルしたりした場合は、その結果を処理するために onActivityResult() メソッドが呼び出されます。
protectedvoidonActivityResult(finalintrequestCode, finalint resultCode, final Intent data) {// ピッカーから結果を取得 IPickerResult result = mPicker.getPickerResult(requestCode, resultCode, data);// 結果が取得されなかった場合の処理 if (result != null) {// 取得されたファイルに対する処理 Log.d("main", "Link to file '" + result.getName() + ": " + result.getLink()); return; }// OneDrive 以外のピッカーの要求の処理 super.onActivityResult(requestCode, resultCode, data);}
このコードでは、result.getName() により開かれたファイルのデータ (ファイル名など)、result.getLink() により要求されたファイルへのリンク、および result.getThumnailLinks() により作成された画像や動画のサムネイルが result で取得され、ユーザーがその内容にアクセスできます。
以上が、SDK をダウンロードしてから利用を開始するまでに必要な手順です。Android 向け OneDrive ピッカーの SDK の詳細については、OneDrive デベロッパー センター (英語)または GitHub の OneDrive ページ (英語)をご確認ください。
Android 向け OneDrive ピッカー (英語)を開発に活用していただければ幸いです。利用開始後にお問い合わせされる際には、Stack Overflow (英語、"onedrive" のタグを設定してください)や GitHub (英語)をご利用ください。