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