デバイスの送信コマンド (非推奨)
名前空間: 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!"
}
}