エクスポート (0) 印刷
すべて展開

Media Services REST API を使用した Media Services への接続

更新日: 2014年10月

Microsoft Azure のメディア サービス にアクセスするときは、Azure Access Control Services (ACS) によって提供されるアクセス トークンと、Media Services そのものの URI の 2 つが必要です。正しいヘッダー値を指定し、Media Services への呼び出しでアクセス トークンを正しく渡す限り、これらの要求を作成するときに任意の手段を使用できます。

以下の手順では、Media Services REST API を使用して Media Services に接続するときの最も一般的なワークフローを示しています。

  1. アクセス トークンの取得

  2. Media Services URI への接続

    Important重要
    https://media.windows.net への接続に成功すると、別の Media Services URI を指定する 301 リダイレクトを受け取ります。続いて、新しい URI への呼び出しを行う必要があります。

    ODATA API メタデータの説明を含む HTTP/1.1 200 応答を受け取ることもできます。

  3. 新しい URL へのそれ以降の API 呼び出しをポストします。

    たとえば、接続を試みた後で、次のような応答があったとします。

    HTTP/1.1 301 Moved Permanently
    Location: https://wamsbayclus001rest-hs.cloudapp.net/api/
    
    
    それ以降の API 呼び出しは https://wamsbayclus001rest-hs.cloudapp.net/api/ にポストします。

REST API を通じて直接 Media Services にアクセスするには、ACS からアクセス トークンを取得し、サービスに対して行う各 HTTP 要求でこれを使用します。このトークンは、HTTP 要求のヘッダーで提供されたアクセス要求に基づき、OAuth v2 プロトコルを使用して ACS によって提供される他のトークンに似ています。Media Services に直接接続する前に、他の前提条件は必要ありません。

次の例では、トークンの取得に使用される HTTP 要求ヘッダーと本文を示しています。

POST https://wamsprodglobal001acs.accesscontrol.windows.net/v2/OAuth2-13 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: wamsprodglobal001acs.accesscontrol.windows.net
Content-Length: 120
Expect: 100-continue
Connection: Keep-Alive

grant_type=client_credentials&client_id=client id value&client_secret=URL-encoded client secret value&scope=urn%3aWindowsAzureMediaServices

Important重要
client_id および client_secret は、アカウントを設定するときに Media Services によって提供されます。これらは、それぞれ AccountName および AccountKey の値に該当します。詳細については、「Media Services アカウントの設定手順」を参照してください。また、Media Services アカウントの AccountKey は、アクセス トークン要求で client_secret 値として使用するときに、URL エンコードされている必要があります。

次の例は、応答の本文にアクセス トークンを含む HTTP 応答を示しています。

HTTP/1.1 200 OK
Cache-Control: public, no-store, max-age=0
Content-Type: application/json; charset=utf-8
Expires: Fri, 13 Jan 2012 22:40:07 GMT
Last-Modified: Fri, 13 Jan 2012 22:40:07 GMT
Vary: *
Server: Microsoft-IIS/7.5
Set-Cookie: ASP.NET_SessionId=w3mtu2rnxucaz5tvj0iyfm0t; path=/; HttpOnly
X-AspNetMvc-Version: 2.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Content-Type-Options: nosniff
Date: Fri, 13 Jan 2012 22:40:07 GMT
Content-Length: 580

{"access_token":"http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=client_id&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1326498007&Issuer=https%3a%2f%2f wamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=hV1WF7sTe%2ffoHqzK%2ftmnwQY22NRPaDytcOOpC9Nv4DA%3d","token_type":"http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0","expires_in":"3599","scope":"urn:WindowsAzureMediaServices"}

Important重要
"access_token " および "expires_in " の値を外部ストレージにキャッシュすることをお勧めします。トークン データは後でストレージから取得し、Media Services REST API 呼び出しで再利用することができます。これは、複数のプロセスまたはコンピューター値でトークンを安全に共有できるシナリオで特に有効です。

必ずアクセス トークンの "expires_in" 値を監視し、必要に応じて新しいトークンで REST API 呼び出しを更新してください。

Media Services のルート URI は https://media.windows.net/ です。最初にこの URI に接続し、応答で 301 リダイレクトを受け取った場合、以降の呼び出しは新しい URI に対して行う必要があります。さらに、要求で自動リダイレクト/フォロー ロジックを使用しないでください。HTTP 動詞および要求本文は新しい URI には転送されません。

アセット ファイルのアップロードおよびダウンロードのルート URI は https://yourstorageaccount.blob.core.windows.net/ で、ストレージ アカウント名は Media Services アカウントの設定中に使用するものと同じです。

次のコード例は、Media Services でアセットを作成する方法を示しています。要求のヘッダーで渡される実際の認証メカニズムは、OAuth v2 ベアラー トークンです。

POST https://media.windows.net/API/Assets HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.7
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1335602357&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=XQs5T%2fEfdO39%2f0Z9%2fBBkA12%2bbUUEY21YyefWXuRYZlY%3d
Host: media.windows.net
Content-Length: 27
Expect: 100-continue

{"Name" : "NewJSONAsset" }
Tipヒント
Media Services エンティティを発見しやすくするために、$metadata 操作を使用できます。これにより、すべての有効なエンティティ型、エンティティ プロパティ、関連付け、関数、アクションなどを取得できます。https://media.windows.net/API/$metadata では、URI の構築方法を示しています。

ブラウザーでメタデータを表示する場合や、要求に x-ms-version ヘッダーを含めなかった場合は、URI の末尾に "?api-version=2.7" を追加します。

関連項目

表示:
© 2014 Microsoft