MetaWeblogAPI と Windows Live Spaces について

MetaWeblog API プログラミング インターフェイスを使用すると、ブログ記事のテキストや属性を外部プログラムで取得したり設定したりできます。この API では、クライアント アプリケーションとブログ サーバー間の通信に XML-RPC プロトコルが使用されます。

サービス エンドポイント

MetaWeblog API for Windows Live Spaces のサービス エンドポイントは、https://storage.msn.com/storageservice/MetaWeblog.rpc です。アプリケーションは、このサービス エンドポイントに XML-RPC 要求を送信して、Windows Live Spaces サーバーと通信します。

注意: Windows Live Spaces からの XML 応答では、すべて UTF-8 エンコードが使用されます。

認証

クライアントと Windows Live Storage の間での MetaWeblog API を使用した通信は、いずれも、HTTPS/SSL を転送プロトコルとして使用して実行されます。MetaWeblog API の呼び出し元に関する認証の提供には、以下の3つの方法があります。

ユーザー名とパスワード: MetaWeblog API 要求のユーザー名とパスワードのフィールドの値として、"スペースの名前" と "ユーザーの秘密のキーワード" をそれぞれ指定します。

Passport Cookie: Passport Cookie を要求に付加し、ユーザー名フィールドにスペースの名前を指定しますが、パスワード フィールドは空のままにします。指定された Passport Cookie が認証に使用されます。この Cookie を認証できない場合は、Access Denied (アクセスは拒否されました) というエラーが返されます。

Passport チケット:RPS チケットを使用して Authorization 要求ヘッダーを指定します。Authorization ヘッダーの詳細については次のセクションを参照してください。

HTTP Authorization ヘッダー

クライアントでの Cookie の処理が望ましくない場合は、RPS チケットを使用して HTTP ヘッダーを指定できます (推奨)。この認証は、HTTP 認証に関する RFC (番号 2617、http://www.ietf.org/rfc/rfc2617.txt で入手可能) に基づいています。

Authorization 要求ヘッダー

この HTTP ヘッダーは MetaWeblog 要求に付加され、認証用の RPS チケットを指定するために使用されます。このヘッダーの仕様を以下に示します。

Authorization:WLID1.0 <チケット データ>

キーワード WLID1.0 は認証スキーマを指定し、その後にスペースとチケット データが続きます。チケット データは、IDCRL または Passport ログイン サーバーから直接取得されるコンパクト チケットの値です。チケットは URL エンコードされてはならないことに注意してください。Authorization ヘッダーの例を以下に示します。

Authorization:WLID1.0 t=U33m5T3 … (簡潔にするためデータを省略) … yadRzp90dRTv9gA=

WWW-Authenticate 応答ヘッダー

Authorization ヘッダーが存在していて認証が失敗した場合は、WWW-Authenticate ヘッダーが MetaWeblog 応答と共に返されます。このヘッダーの形式は次のとおりです。

WWW-Authenticate:WLID1.0 realm="WindowsLive", fault="<RPS エラー>", policy="<サービス認証ポリシー>", ver="<RPS バージョン>"

キーワード WLID1.0 の後にはスペースが続き、その後にキー=”値” のペアが続きます (ペアの順序は保証されないことに注意してください)。各キーには以下の意味があります。

キー

realm

文字列 "WindowsLive" (今後のために予約されています)。

fault

認証が失敗した場合に RPS からの情報として提供されるエラー文字列 (クライアントでのデバッグを支援するために提供されます)。

policy

セキュリティ認証ポリシー (Passport または IDCRL から適切なチケットを取得するために必要です)。"LBI"、"MBI"、"HBI" などです。

ver

RPS バージョン (情報提供の目的で返されます)。

WWW-Authenticate ヘッダーの例を以下に示します。

WWW-Authenticate:WLID1.0 realm="WindowsLive", fault="BadContextToken", policy="MBI", ver="4.0.1532.0"

日付と時刻

MetaWeblog API を使用して Windows Live Spaces に送信される日時は、すべて datetime.iso8601 タイプの日時 (UTC) でなければなりません。MetaWeblog API を使用して取得される日時は、すべて datetime.iso8601 タイプの日時 (UTC) になります。