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

第51回 SkyDrive API 概要(4)──ファイルの共有ほか

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

コメントの取得

SkyDriveでは,公開されているフォルダーやファイルにコメントを投稿できます図5⁠。次は,それらのコメントを取得してみましょう。

図5 コメントの投稿

図5 コメントの投稿

APIでは,今のところファイルのコメントの取得のみ可能です。必要なScopeはwl.photosまたはwl.skydriveです。wl.contacts_photosのScopeであれば,共有されているファイルのコメントも取得できます。

コメントの取得は,次のURLのようにひとつのフォルダーまたはファイルを示すURLに「/comments」を付けてHTTP GETアクセスするだけです。

  • https://apis.live.net/v5.0/FILE_ID/comments?access_token=ACCESS_TOKEN

FILE_IDの部分は,Fileオブジェクト以外にもAlbum・Photo・Videoオブジェクトのidを指定できます。

取得できるJSONは次のようになります。

{
   "data": [
      {
         "id": "comment.xxxxx", 
         "from": {
            "name": "梓 中野", 
            "id": "xxxxx"
         }, 
         "message": "ようこそにゃん", 
         "created_time": "2012-02-22T00:00:00+0000"
      }
   ]
}

このコメントを表すCommentオブジェクトの内容は次の通りです。

プロパティ 説明
data array Coomentオブジェクトを含む配列
id string CommentオブジェクトのID
from object コメントしたユーザーの情報
name(fromオブジェクト) string ユーザーの名前
id(fromオブジェクト) string ユーザーのID
message string コメント(最大10000文字)
create_time string コメント日時(ISO 8601形式)

対象のファイルにコメント可能かどうかとコメント数については,File・Photo・Videoオブジェクトのcomments_enabledcomments_countプロパティからわかります。

コメントとAPIに関して,フォルダーやアルバムのコメントは現在取得できません。また,コメントの投稿もできませんが,ドキュメントではそういった記述もあるため,今後できるようになるかもしれませんね。

タグの取得

SkyDriveでは,写真やビデオに人物タグを付けられます図6⁠。写真の場合は,顔の座標情報も持っています。

図6 タグの追加

図6 タグの追加

タグ付けは,WebサイトやLive Photoギャラリーで付けてSkyDriveにアップロードするか,Windows Phoneによって行えます。

APIではタグ情報の取得のみ可能です。必要なScopeはコメントの取得のときと同じで,wl.photosまたはwl.skydriveです。

タグの取得は,次のURLのようにひとつの写真またはビデオを示すURLに「/tags」を付けてHTTP GETアクセスします。

  • https://apis.live.net/v5.0/PHOTO_ID/tags?access_token=ACCESS_TOKEN

PHOTO_IDの部分は,Photoオブジェクトのidの値,またはVideoオブジェクトのidの値を指定します。

写真の場合,取得できるJSONは次のようになります。

{
   "data": [
      {
         "id": "tag.xxxxx", 
         "user": {
            "name": "憂 平沢", 
            "id": "xxxxx"
         }, 
         "x": 32.5, 
         "y": 38.2812, 
         "created_time": "2012-02-22T00:00:00+0000"
      }
   ]
}

このタグ情報を表す,Tagオブジェクトの内容は次の通りです。

プロパティ 説明
data array Tagオブジェクトを含む配列
id string TagオブジェクトのID
user object 人物タグのユーザー
name(userオブジェクト) string ユーザーの名前
id(userオブジェクト) string ユーザーのID
x number 横方向のタグの中心位置
写真の横幅を100とした場合の0〜100の小数点を含む値
y number 縦方向のタグの中心位置
写真の縦幅を100とした場合の0〜100の小数点を含む値
create_time string タグの作成日時(ISO 8601形式)

xとyはVideoオブジェクトのときは含まれていません。また,xとyからわかるようにタグの中心位置のみ示していて,顔の範囲を示す情報は持っていません。

対象の写真・ビデオにタグの追加が可能かどうかとタグの数については,Photo・Videoオブジェクトのtags_enabledtags_countプロパティからわかります。

既に述べたようにタグの追加はAPIではできません。Photo・Videoオブジェクトで取得できるtags_enabledは,ユーザーがタグの追加が可能かどうかを示しています。

おわりに

今回はここまでです。まだ若干 紹介しておきたい内容がありますので,次回もSkyDrive APIの予定です。簡単なアプリも作成予定ですのでお楽しみに。

著者プロフィール

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

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

URL:http://katamari.jp