Exporter (0) Imprimer
Développer tout

Connexion à Media Services à l'aide de l'API REST Media Services

Mis à jour: octobre 2014

Deux éléments sont prérequis pour accéder à Microsoft Azure Media Services : un jeton d'accès fourni par Azure Access Control Services (ACS) et l'URI de Media Services lui-même. Vous pouvez utiliser la méthode de votre choix lorsque vous créez ces requêtes dès lors que vous spécifiez les valeurs d'en-tête correctes et transmettez le jeton d'accès correctement lors de l'appel de Media Services.

Les étapes suivantes décrivent le flux de travail le plus courant lors de l'utilisation de l'API REST Media Services pour établir la connexion à Media Services :

  1. Obtention d'un jeton d'accès

  2. Connexion à l'URI Media Services

    ImportantImportant
    Après vous être connecté à https://media.windows.net, vous recevrez une redirection 301 spécifiant un autre URI de Media Services. Vous devrez passer des appels suivants au nouvel URI.

    Vous pouvez également recevoir une réponse HTTP/1.1 200 qui contient la description des métadonnées de l'API ODATA.

  3. Effectuez vos appels à l'API suivants auprès de la nouvelle URL.

    Par exemple, si vous recevez la réponse suivante après la tentative de connexion :

    HTTP/1.1 301 Moved Permanently
    Location: https://wamsbayclus001rest-hs.cloudapp.net/api/
    
    
    Vous devez effectuer vos appels à l'API suivants à https://wamsbayclus001rest-hs.cloudapp.net/api/.

Pour accéder à Media Services directement via l'API REST, récupérez un jeton d'accès auprès d'ACS et utilisez-le lors de chaque requête HTTP effectuée auprès du service. Ce jeton est semblable aux autres jetons fournis par ACS sur la base des revendications d'accès incluses dans l'en-tête d'une requête HTTP et à l'aide du protocole OAuth v2. Aucune autre condition préalable n'est requise avant la connexion directe à Media Services.

L'exemple suivant montre l'en-tête et le corps de la requête HTTP utilisée pour récupérer un jeton :

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

ImportantImportant
Les client_id et client_secret sont fournis par Media Services lors de la configuration de votre compte. Ils correspondent aux valeurs AccountName et AccountKey, respectivement. Pour plus d'informations, consultez les instructions de configuration d'un compte Media Services. Par ailleurs, la valeur AccountKey de votre compte Media Services doit être encodée dans une URL lorsque vous l'utilisez comme valeur client_secret dans votre demande de jeton d'accès.

L'exemple suivant montre la réponse HTTP qui contient le jeton d'accès dans le corps de la réponse.

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"}

ImportantImportant
Nous vous recommandons de mettre en cache les valeurs « access_token » et « expires_in » sur un support de stockage externe. Les données du jeton pourront être ultérieurement extraites du support de stockage et réutilisées dans les appels API REST de Media Services. Ceci est particulièrement utile dans les scénarios où le jeton peut être partagé de façon sécurisée entre plusieurs processus ou ordinateurs.

Veillez à contrôler la valeur « expires_in » du jeton d'accès et à mettre à jour vos appels de l'API REST avec les nouveaux jetons au besoin.

L'URI racine de Media Services est https://media.windows.net/. Vous devez commencer par vous connecter à cet URI. Si vous recevez une redirection 301 en réponse, vous devez effectuer les appels suivants auprès du nouvel URI. Par ailleurs, vous ne devez utiliser aucune logique de redirection automatique/suivi dans vos requêtes. Les verbes HTTP et les corps de requête ne seront pas transmis au nouvel URI.

L'URI racine pour le téléchargement des fichiers d'éléments multimédias est https://votre_compte_de_stockage.blob.core.windows.net/, où le nom de votre compte de stockage correspond à celui que vous avez utilisé lors de la configuration de votre compte Media Services.

L'exemple de code suivant montre la création d'un élément multimédia dans Media Services. Notez que le mécanisme d'autorisation réel transmis dans l'en-tête de la requête est un jeton de support 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" }
TipConseil
Pour faciliter la découverte des entités Media Services, il est possible d'utiliser l'opération $metadata. Celle-ci vous permet de récupérer tous les types d'entités, propriétés d'entité, associations, fonctions, actions, etc. valides. L'exemple suivant montre la construction de l'URI : https://media.windows.net/API/$metadata.

Pour afficher les métadonnées dans un navigateur si vous n'avez pas inclus l'en-tête x-ms-version dans votre requête, vous devez ajouter « ?api-version=2.7 » à la fin de l'URI.

Voir aussi

Afficher:
© 2014 Microsoft