デバイスの送信コマンド (非推奨)

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

注意

この API は非推奨であり、2020 年 9 月 30 日にデータの返しを停止しました。

この API を使用すると、Project Rome の機能で、Microsoft アカウントに関連付けられているデバイスをコマンドできます。 で GET 呼び出しを実行した後、 me/devicesデバイスの ID を渡してデバイスにコマンドを発行します。 LaunchURI と AppService の 2 種類のコマンドがサポートされています。 LaunchURI を使用している場合は、 ペイロード パラメーターを指定します。 AppService 呼び出しの場合は、 ペイロードpackageFamilyNameおよび appServiceName パラメーターを 指定します。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください

アクセス許可の種類 最小特権アクセス許可 特権の高いアクセス許可
委任 (職場または学校のアカウント) サポートされていません。 サポートされていません。
委任 (個人用 Microsoft アカウント) Device.Command 注意事項なし。
アプリケーション サポートされていません。 サポートされていません。

HTTP 要求

POST me/devices/{id}/commands

要求ヘッダー

ヘッダー
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。
承諾 application/json

要求本文

要求本文で、コマンド プロパティの JSON 表現を指定します。

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

応答

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

コマンド のプロパティ

名前 説明
payload microsoft.graph.json アプリ サービスに送信するか、デバイスで URI を起動するためのペイロード。
responsePayload microsoft.graph.json ターゲット デバイスから返されるペイロード。
postBackURI String URI をポストバックして、更新プログラムの後続の通知を送信します。
packageFamilyName String Windows パッケージ ファミリ アプリケーションの名前。
appServiceName String ターゲット アプリケーションによって定義されたアプリ サービスの名前。 アプリ サービスを起動する場合は必須です。
type String LaunchURI または AppService。
id String デバイスに送信されたコマンドの ID。
actionStatus String コマンドの 状態
error String ターゲット アプリケーションからの要求に関連付けられているエラー。

例 1: URI を起動する

LaunchURI 要求の例を次に示します。ターゲット デバイスで URI またはアプリケーションを起動します。 URI またはアプリを起動するには、デバイスの ID を使用して POST を発行します (GET 呼び出し me/devicesの実行から取得)。 パラメーターを LaunchURI に設定し、 などの https://bing.comURI 値を指定します。

要求


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

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

応答

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

例 2: App Service

次の例は、デバイス上のアプリ サービスに対してクエリを実行する方法を示しています。 アプリ サービスを使用するには、デバイスの ID を使用して POST 呼び出しを実行する必要があります (で GET 呼び出し me/devicesを実行することによって取得されます)。 次の例を使用するには、ターゲット デバイスに Rome アプリ をインストールする必要があります。

呼び出しでは、いくつかの追加のプロパティを設定する必要があります。 AppService に設定する必要があります。 AppServiceName はアプリケーションで定義されているアプリ サービスの名前に設定する必要があります。 PackageFamilyName はアプリ マニフェストで定義されているパッケージ ファミリ名に設定する必要があります。 Payload は、ターゲット アプリケーション内で呼び出しているサービスのキーと値を保持します。

要求


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

応答

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