Freigeben über


Befehl "Gerät senden" (veraltet)

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Achtung

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

Diese API ermöglicht es Project Rome-Funktionen, ein Gerät zu befehlen, das einem Microsoft-Konto zugeordnet ist. Nachdem Sie einen GET-Aufruf auf ausgeführt haben me/devices, übergeben Sie die ID des Geräts, um einen Befehl an Ihr Gerät ausstellen zu können. Zwei Arten von Befehlen werden 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 type, payload, packageFamilyName und appServiceName an.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Nicht unterstützt Nicht unterstützt
Delegiert (persönliches Microsoft-Konto) Device.Command Nicht verfügbar.
Anwendung Nicht unterstützt Nicht unterstützt

HTTP-Anforderung

POST me/devices/{id}/commands

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung.
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 Vom Zielgerät zurückgegebene Nutzlast.
postBackURI String Postback-URI, um nachfolgende Benachrichtigungen über Updates zu senden.
packageFamilyName String Windows-Paketfamilienname der Anwendung.
appServiceName String Name des von der Zielanwendung definierten App-Diensts. Erforderlich beim Starten eines App-Diensts.
type String LaunchURI oder AppService.
id String Die ID eines Befehls, der an das Gerät gesendet wurde.
actionStatus String Die status eines Befehls.
error String Alle Fehler, die der Anforderung von der Zielanwendung zugeordnet sind.

Beispiele

Beispiel 1: Starten des URI

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

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 Service

Das folgende Beispiel zeigt, wie Sie einen App-Dienst auf einem Gerät abfragen. Um einen App Service verwenden zu können, müssen Sie einen POST-Aufruf mit der ID des Geräts ausführen (abgerufen durch einen GET-Aufruf unter 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. Type muss auf AppService festgelegt werden, AppServiceName muss auf den Namen des app-Diensts festgelegt werden, der in der Anwendung definiert ist, PackageFamilyName muss auf den im App-Manifest definierten Paketfamiliennamen festgelegt werden, und Payload enthält die Schlüssel und Werte für den Dienst, den Sie innerhalb 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!"
  }
}