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

名前空間: microsoft.graph

重要

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

注意事項

この API は非推奨となり、2020 年 9 月 30 日にデータの返しが停止されました。

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

アクセス許可

この 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の実行から取得)。 Type パラメーターを 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!"
  }
}