匯出 (0) 列印
全部展開

使用 Media Services REST API 連綿到 Media Services

更新日期: 2014年4月

存取 Microsoft Azure Media Services 時需要兩樣東西:Azure 存取控制服務 (ACS) 提供的存取權杖,以及 Media Services 本身的 URI。建立這些要求時,您可以隨意使用任何方式,只要指定正確的標頭值並在呼叫 Media Services 時正確地傳遞存取權杖即可。

Important重要事項
順利連接到 https://media.windows.net 後,您將會收到指定另一個媒體服務 URI 的 301 重新導向。您必須針對新的 URI 進行後續呼叫。

取得存取權杖

若要透過 REST API 直接存取 Media Services,請從 ACS 擷取存取權杖,並在對服務進行每個 HTTP 要求期間使用權杖。此權杖類似於 ACS 提供的其他權杖,以 HTTP 標頭中提供的存取宣告為基礎,並使用 OAuth v2 通訊協定。您不需要其他任何必要條件,就能直接連接到 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重要事項
在您設定帳戶時,Media Services 會為您提供 client_id 與 client_secret。這兩者分別對應至 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

Media Services 的根 URI 為 https://media.windows.net/。最初應該先連接到此 URI,如果回應中出現 301 重新導向,則應接著呼叫新 URI。此外,請勿在要求中使用任何自動重新導向/跟隨邏輯。HTTP 動詞與要求本文不會轉送至新 URI。

上傳與下載 Asset 檔案的根 URI 是 https://yourstorageaccount.blob.core.windows.net/,其儲存體帳戶名稱就是您在設定 Media Services 帳戶時使用的名稱。

以下程式碼範例顯示如何在 Media Services 中建立資產。請注意,實際在要求標頭中傳遞的授權機制是 OAuth v2 bearer 權杖。

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.5 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 作業。它可以讓您擷取所有有效的實體類型、實體屬性、關聯、函數、動作等。以下範例顯示如何建構 URI:https://media.windows.net/API/$metadata。

若您想要在瀏覽器中檢視中繼資料,或未在要求中包含 x-ms-version 標頭,您應該將 "?api-version=2.5" t 附加到 URI 的結尾。

另請參閱


建置日期:

2014-06-06

社群新增項目

新增
顯示:
© 2014 Microsoft