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

第19回 Windows Live Photo API(1)

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

本記事の対象APIは既にサポートされていません。記事は参考程度にご利用ください。

今回からはWindows Live スペースのフォト アルバムを操作できるWindows Live Photo APIについてです。

Windows Live スペース フォト アルバム

ブログサービスであるWindows Live スペースとその機能のひとつフォト アルバムをご存知でしょうか。フォト アルバムは,写真などの画像ファイルをアルバムとして分類し,Webサイト上にアップロードして公開できるサービスです図1)。

図1 フォト アルバム

図1 フォト アルバム

通常は,ユーザーはアルバムの作成や写真のアップロードをWebサイトまたはWindows Live フォト ギャラリーから行いますが,Windows Live SDKにはフォト アルバムをプログラムから操作できるAPIが提供されています。今回からは,そのAPIを使ってみましょう。

Windows Live Photo API

フォト アルバムを操作できるAPIはWindows Live Photo APIと呼ばれ,使用するプロトコルの違いにより

  • Windows Live Photo WebDAV API
  • Windows Live Photo ATOM API

の2種類があります。

API利用によって次の操作が可能です。

  • 写真のアップロードおよびダウンロード
  • アルバムの作成
  • 写真またはアルバムの名前変更および削除

Live Photo APIは,Windows Live ID委任認証と併せて利用します。つまり,フォト アルバムを操作するためにあらかじめユーザーの承認を得る必要があります。委任認証については本連載の第14回15回に紹介しています。

以上のことからAPI利用によりWindows Liveユーザーのブログスペースをフォトストレージとして使用したり,ブログスペースからフォトを参照・利用するなどのWebアプリケーションの作成が可能であることがわかります。

WebDAV API,ATOM APIともCTP(Community Technology Preview)リリースです。今後,仕様が変わる可能性がありますので利用には注意してください。

アクセス許可

ここからは委任認証を理解しているものとして進めます。委任認証ではアプリケーションプロバイダ(通常はWebサイト)が必要とするアクセス許可(オファーとアクション)を指定し,ユーザーの承認を得る必要があります。今回のPhoto APIではフォト アルバムに対しての操作のオファーおよびアクションを指定します。

Photo APIで使用するオファーとアクションの組み合わせは次の2種類です。

オファー・アクション 説明
SpacesPhotos.Read アルバムと写真に対する読み取り専用でのアクセス許可
SpacesPhotos.ReadWrite アルバムと写真に対する読み取りおよび追加・変更のアクセス許可

必要とするオファー・アクションを承認要求URL,psパラメータに指定しましょう。コンマ(,)区切りで両方を指定することも可能です。ユーザーがアクセスする承認要求ページは図2のようになります。

図2 承認要求ページ

図2 承認要求ページ

図は2種類のオファーとアクションを指定した場合です。

フォト アルバムへのアクセス

本連載はAtom Publishing(AtomPub)プロトコルに基づいたWindows Live Photo ATOM APIの利用方法を紹介します。AtomPubプロトコルはHTTPによるXMLをベースとしたWeb APIによく使用される仕様です。以前のLive Photo API (以前はWindows Live Spaces Photo APIと呼ばれていました)は,WebDAVプロトコルのみでしたがCTPリリースからAtomPubによる操作が可能になりました。

フォト アルバムを操作するには,次の書式に従ったURLへアクセスし,HTTPのGETやPOSTメソッドによりアルバム・写真情報の取得やアップロードを行います。

https://cumulus.services.live.com/@C@[LID]/AtomSpacesPhotos[/リソースへのパス]

[LID]にはユーザーデータの場所を示す識別子,委任認証により取得した承認トークンのlidパラメータを指定します。URLの末尾にはリソースへのパス,つまりアルバムや写真を示す値を指定します。

上記URLへアクセスするときに,HTTPのAuthorizationヘッダを指定する必要があります。ヘッダの値に承認トークンのdeltパラメータの値(委任トークン)を使います。

以上をまとめると,フォト アルバムへアクセスするHTTPのリクエストヘッダは次のようになります。

[HTTP Method] /AtomSpacesPhotos[/リソースへのパス] HTTP/1.1
Host: cumulus.services.live.com
User-Agent: [Name of User Agent]
Authorization: DelegatedToken dt="[委任トークン]"

著者プロフィール

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

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

URL:http://katamari.jp

コメント

コメントの記入