Befehl "Gerät senden" (veraltet)

Namespace: microsoft.graph

Wichtig

APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in Version 1.0 verfügbar ist, verwenden Sie die Versionsauswahl .

Achtung

Diese API ist veraltet und gibt am 30. September 2020 keine Daten mehr zurück.

Mit dieser API können Project Rome-Funktionen ein Gerät befehlen, das einem Microsoft-Konto zugeordnet ist. Nachdem Sie einen GET-Aufruf durchgeführt haben me/devices, übergeben Sie die ID des Geräts, um einen Befehl an Ihr Gerät ausstellen. Es werden zwei Arten von Befehlen unterstützt: LaunchURI und AppServices. Wenn Sie LaunchURI verwenden, geben Sie den Typ und die Nutzlastparameter an. Geben Sie für einen AppService-Aufruf die Parameter Typ, Nutzlast, packageFamilyName und appServiceName an.

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) Nicht unterstützt
Delegiert (persönliches Microsoft-Konto) Device.Command
Anwendung Nicht unterstützt

HTTP-Anforderung

POST me/devices/{id}/commands

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich.
Annehmen application/json

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung der Befehlseigenschaften an.

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

Antwort

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

Befehlseigenschaften

Name Typ Beschreibung
payload microsoft.graph.json Nutzlast zum Senden an einen App-Dienst oder zum Starten eines URI auf einem Gerät.
responsePayload microsoft.graph.json Nutzlast, die vom Zielgerät zurückgegeben wird.
postBackURI Zeichenfolge Posten Sie den URI zurück, um nachfolgende Benachrichtigungen über Updates zu senden.
packageFamilyName Zeichenfolge Windows-Paketfamilienname der Anwendung.
appServiceName Zeichenfolge Name des von der Zielanwendung definierten App-Diensts. Erforderlich, wenn ein App-Dienst gestartet wird.
type Zeichenfolge LaunchURI oder AppService.
id Zeichenfolge Die ID eines Befehls, der an das Gerät gesendet wurde.
actionStatus Zeichenfolge Der Status eines Befehls.
error Zeichenfolge Alle Fehler, die der Anforderung von der Zielanwendung zugeordnet sind.

Beispiele

Beispiel 1: Start-URI

Es folgt ein Beispiel für eine LaunchURI-Anforderung. Es startet einen URI oder eine Anwendung auf dem Zielgerät. Um einen URI oder eine App zu starten, stellen Sie einen POST mithilfe der ID des Geräts aus (abgerufen aus einem GET-Aufruf auf me/devices). Legen Sie die Type-Parameter auf LaunchURI fest, und geben Sie einen URI-Wert an, z https://bing.com. B. .

Anforderung


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

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

Antwort

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

Beispiel 2: App-Dienst

Das folgende Beispiel zeigt, wie Sie einen App-Dienst auf einem Gerät abfragen. Um einen App-Dienst verwenden zu können, müssen Sie einen POST-Anruf mithilfe der ID des Geräts durchführen (abgerufen durch ausführen eines GET-Anrufs auf me/devices). Um das folgende Beispiel zu verwenden, müssen Sie die Rome-App auf Ihrem Zielgerät installieren.

Im Aufruf müssen mehrere zusätzliche Eigenschaften festgelegt werden. Der Typ muss auf "AppService" festgelegt sein, "AppServiceName " muss auf den Namen des in der Anwendung definierten App-Diensts festgelegt werden, "PackageFamilyName " muss auf den paketfamiliennamen festgelegt werden, der im App-Manifest definiert ist, und Payload enthält die Schlüssel und Werte für den Dienst, den Sie in der Zielanwendung aufrufen.

Anforderung


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

Antwort

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