使ってみよう! Windows Live SDK/API

第52回 SkyDrive API 概要(5)──Live SDK 5.1 Previewほか

この記事を読むのに必要な時間:およそ 3 分

OneNoteノートブックの参照

Office OneNoteはSkyDriveと連携し,ノートブックをSkyDriveに保存できます。またOneNote Web App図2を使えば,Webブラウザーでノートブックの編集もできます。

図2 OneNote Web App

図2 OneNote Web App

このノートブックのファイルがSkyDrive上にある場合,ファイルを参照すると少し特別扱いになっています。

Fileオブジェクトのtypeプロパティの値はnotebookになり,linkプロパティの値は,直接OneNote Web Appで開くURLになっています。

ノートブックの表すFileオブジェクトのJSONデータは,次のようになります。

{
    "id": "file.xxxxx",
    "from": {
        "name": "梓 中野",
        "id": "xxxxx"
    },
    "name": "Notebook1",
    "description": null,
    "parent_id": "folder.xxxx",
    "size": 10286,
    "comments_count": 0,
    "comments_enabled": false,
    "is_embeddable": true,
    "link": "https://skydrive.live.com/redir.aspx?...",
    "type": "notebook",
    "shared_with": {
        "access": "Just me"
    },
    "created_time": "2011-05-10T15:00:00+0000",
    "updated_time": "2012-03-25T18:00:00+0000"
}

ほかのFileオブジェクトと異なる点は,upload_locationおよびsourceプロパティが含まれていません。

既定のフォルダーのパス

Windows Phoneで撮影した写真がアップロードされる「カメラロール」フォルダーや,ドキュメントやピクチャーフォルダーなどいくつかの既定のフォルダーに,FolderオブジェクトのIDを指定する代わりに,わかりやすいパスを指定してアクセスできるようになっています。対象のフォルダーは次の通りです。

SkyDrive camera rollフォルダー
USER_ID/skydrive/camera_roll
Documentsフォルダー
USER_ID/skydrive/my_documents
Picturesフォルダー
USER_ID/skydrive/my_photos
Publicフォルダー
USER_ID/skydrive/public_documents

USER_IDは,UserオブジェクトのIDまたはmeを指定して,たとえばカメラロールのファイル一覧を取得するには次のようなURLにアクセスします。

  • https://apis.live.net/v5.0/me/skydrive/camera_roll/files?access_token=ACCESS_TOKEN

フィルタリング・ページング

以上が,SkyDriveに関わる新しいREST APIの内容でした。タグとコメントの作成と削除は割愛します。最後に,これまでに紹介していなかったフィルタリングとページングについて紹介します。

filterパラメーター

フォルダー内のファイルの情報を取得する場合,me/skydrive/filesのようなファイルを表すパスにアクセスします。末尾が/filesの場合,対象のフォルダーに含まれるファイル一覧が結果として取得できます。ここまでは,前回までに紹介した内容です。

次のようにURLにfilterパラメーターを指定すると,フォルダー内の写真など特定の形式のオブジェクトだけ取得できます。

  • FOLDER_ID/files?fileter=photos

指定できる値は,albums,audio,folders,photos,videosです。FOLDER_ID/files?fileter=videos,audio のような記述も可能です。

limitとoffsetパラメーター

ファイル一覧など取得する個数や,取得する開始位置の指定もできます。個数を指定するには,limitパラメーターを使います。下記の場合,ひとつのファイル情報のみ取得できます。

  • FOLDER_ID/files?limit=1

位置を指定するには,offsetパラメーターを使います。offsetは0が1番目のファイルを指します。下記の場合3〜7番目のファイル情報を取得します。

  • FOLDER_ID/files?limit=5&offset=2

limitとoffsetパラメーターは,フォルダーのファイル以外にも,アルバム,コメント,タグにも使えるパラメーターです。

  • ALBUM_ID/files?limit=2
  • PHOTO_ID/comments?limit=2
  • PHOTO_ID/tags?limit=2

limitとoffsetパラメーターを使用し,すべての情報が取得できていない場合,前後の情報へのパスが次のようにJSONデータに含まれています。

"paging": {
    "next": "/me/skydrive/files?offset=2&limit=1", 
    "previous": "/me/skydrive/files?offset=0&limit=1"
}

sort_byとsort_orderパラメーター

ファイルは,sort_bysort_orderパラメーターを使って,名前順などの並び順を指定できます。

  • FOLDER_ID/files?sort_by=name

指定できる値は,created,updated,name,size, defaultです。

次のように昇順・降順も指定できます。

  • FOLDER_ID/files?sort_by=name&sort_order=descending

指定できる値は,ascendingとdescendingです。

以上が,フィルタリング・ページングに関わるURLに指定可能なパラメーターです。これらのパラメーターを活用すると,より柔軟にリソースへアクセスできますね。

おわりに

今回はここまでです。少し前回より間が空いてしまいましたが,今回は新しいLive SDKの中からSkyDriveのREST APIの紹介と,URLに指定できるパラメーターを紹介しました。次回はこれらを活用したアプリを作りたいと思います。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp