デバイスの送信コマンド (非推奨)
名前空間: 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 呼び出しの場合は、 型、 ペイロード、 packageFamilyName、 appServiceName パラメーターを 指定します。
アクセス許可
この 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!"
}
}
フィードバック
フィードバックの送信と表示