Partager via


Commande Envoyer l’appareil (déconseillé)

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Attention

Cette API est déconseillée et a cessé de retourner des données le 30 septembre 2020.

Cette API permet aux fonctionnalités de Project Rome de commander un appareil associé à un compte Microsoft. Après avoir effectué un appel GET sur me/devices, transmettez l’ID de l’appareil pour émettre une commande sur votre appareil. Deux types de commandes sont pris en charge : LaunchURI et AppServices. Si vous utilisez LaunchURI, spécifiez les paramètres de type et de charge utile . Pour un appel AppService, spécifiez les paramètres type, payload, packageFamilyName et appServiceName .

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) Non prise en charge. Non prise en charge.
Déléguée (compte Microsoft personnel) Device.Command Non disponible.
Application Non prise en charge. Non prise en charge.

Requête HTTP

POST me/devices/{id}/commands

En-têtes de demande

En-tête Valeur
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Accepter application/json

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON des propriétés de commande.

{
  "type": "appService",
  "payload": "payload-JSON",
  "packageFamilyName": "packageFamilyName",
  "appServiceName": "appServiceName",
  "postbackURI": "postbackURI"
}

Réponse

HTTP/1.1 201 OK
{
  "id": "0",
  "status": "requesting",
  "type": "appService",
  "appServiceName": "appServiceName",
  "packageFamilyName": "packageFamilyName",
  "error": "null",
  "responsePayload": "null",
  "payload": "payload-JSON",
  "permissionTicket": "null",
  "postBackUri": "postbackURI"
}

Propriétés de commande

Name Type Description
payload microsoft.graph.json Charge utile à envoyer à un service d’application ou à lancer un URI sur un appareil.
responsePayload microsoft.graph.json Charge utile retournée par l’appareil cible.
postBackURI Chaîne Publier l’URI pour envoyer les notifications suivantes des mises à jour.
packageFamilyName Chaîne Nom de la famille de packages Windows de l’application.
appServiceName Chaîne Nom du service d’application défini par l’application cible. Obligatoire si vous lancez un service d’application.
type Chaîne LaunchURI ou AppService.
id Chaîne ID d’une commande qui a été envoyée à l’appareil.
actionStatus Chaîne Status d’une commande.
error Chaîne Toutes les erreurs associées à la demande de l’application cible.

Exemples

Exemple 1 : URI de lancement

Voici un exemple de requête LaunchURI : il lance un URI ou une application sur l’appareil cible. Pour lancer un URI ou une application, émettez un POST à l’aide de l’ID de l’appareil (obtenu en effectuant un appel GET sur me/devices). Définissez les paramètres type sur LaunchURI et fournissez une valeur d’URI telle que https://bing.com.

Demande


POST me/devices/{id}/commands
Authorization: Bearer Eaeou....
Content-Type: application/json; charset=utf-8

{ "type" : "LaunchUri", "payload" : {"uri":"https://bing.com"}}

Réponse

HTTP/1.1 201 OK

{
  "id": "0158355AD4D680CC4E2994CC009EFFD7337D1B...",
  "status": "requesting",
  "type": null,
  "appServiceName": null,
  "packageFamilyName": null,
  "error": null,
  "permissionTicket": null,
  "postBackUri": null,
  "payload": {
    "uri": "https://bing.com"
  }
}

Exemple 2 : Service d’application

L’exemple suivant montre comment interroger un service d’application sur un appareil. Pour utiliser un service d’application, vous devez effectuer un appel POST à l’aide de l’ID de l’appareil (obtenu en effectuant un appel GET sur me/devices). Pour utiliser l’exemple suivant, vous devez installer l’application Rome sur votre appareil cible.

Plusieurs propriétés supplémentaires doivent être définies dans l’appel. Type doit être défini sur AppService, AppServiceName doit être défini sur le nom du service d’application défini dans l’application, PackageFamilyName doit être défini sur le nom de la famille de packages défini dans le manifeste de l’application, et Payload contient les clés et les valeurs du service que vous appelez dans l’application cible.

Demande


POST me/devices/{id}/commands
Authorization: Bearer Eaeou....
Content-Type: application/json; charset=utf-8

{
  "type" : "AppService",
  "appServiceName" : "com.microsoft.test.cdppingpongservice",
  "packageFamilyName" : "5085ShawnHenry.RomanTestApp_jsjw7knzsgcce",
  "payload" : {
    "Type":"Toast","Title":"Hello","Subtitle":"World!"}
  }

Réponse

HTTP/1.1 201 OK

{
  "id": "0158355AD4D680CC4E2994CC009EFFD7EADA8307E96FF1C8D19B..",
  "status": "requesting",
  "type": null,
  "appServiceName": "com.microsoft.randomnumbergenerator",
  "packageFamilyName": "Microsoft.SDKSamples.AppServicesProvider.CS_8wekyb3d8bbwe",
  "error": null,
  "permissionTicket": null,
  "postBackUri": null,
  "payload": {
    "Type": "Toast",
    "Title": "Hello",
    "Subtitle": "World!"
  }
}