Comando Enviar dispositivo (preterido)

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor de versão.

Cuidado

Essa API foi preterida e parou de retornar dados em 30 de setembro de 2020.

Essa API permite que os recursos do Project Rome comandom um dispositivo associado a uma conta da Microsoft. Depois de fazer uma chamada GET, me/devicespasse a ID do dispositivo para emitir um comando para o dispositivo. Há suporte para dois tipos de comandos: LaunchURI e AppServices. Se você estiver usando LaunchURI, especifique os parâmetros de tipo e conteúdo . Para uma chamada appService, especifique os parâmetros type, payload, packageFamilyName e appServiceName .

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) Sem suporte.
Delegado (conta pessoal da Microsoft) Device.Command
Aplicativo Sem suporte.

Solicitação HTTP

POST me/devices/{id}/commands

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório.
Aceitar application/json

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON das propriedades do comando.

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

Resposta

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

Propriedades do comando

Nome Tipo Descrição
payload microsoft.graph.json Conteúdo a ser enviado para um serviço de aplicativo ou para iniciar um URI em um dispositivo.
responsePayload microsoft.graph.json Conteúdo retornado do dispositivo de destino.
postBackURI Cadeia de caracteres Poste o URI de volta para enviar notificações subsequentes de atualizações.
packageFamilyName Cadeia de caracteres Nome da Família de Pacotes do Windows do aplicativo.
appServiceName Cadeia de caracteres Nome do serviço de aplicativo definido pelo aplicativo de destino. Necessário se estiver iniciando um serviço de aplicativo.
type Cadeia de caracteres LaunchURI ou AppService.
id String A ID de um comando que foi enviado para o dispositivo.
actionStatus Cadeia de caracteres O status de um comando.
erro Cadeia de caracteres Todos os erros associados à solicitação do aplicativo de destino.

Exemplos

Exemplo 1: Iniciar URI

Veja a seguir um exemplo de uma solicitação LaunchURI; ele iniciará um URI ou um aplicativo no dispositivo de destino. Para iniciar um URI ou um aplicativo, emita um POST usando a ID do dispositivo (obtida da execução de uma chamada GET).me/devices Defina os parâmetros Type como LaunchURI e forneça um valor de URI como https://bing.com.

Solicitação


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

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

Resposta

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

Exemplo 2: Serviço de aplicativo

O exemplo a seguir mostra como consultar um serviço de aplicativo em um dispositivo. Para usar um serviço de aplicativo, você deve fazer uma chamada POST usando a ID do dispositivo (obtida da execução de uma chamada GET em me/devices). Para usar o exemplo a seguir, você deve instalar o aplicativo Rome em seu dispositivo de destino.

Várias propriedades adicionais devem ser definidas na chamada. O tipo deve ser definido como AppService, AppServiceName deve ser definido como o nome do serviço de aplicativo definido no aplicativo, PackageFamilyName deve ser definido como o nome da família de pacotes definido no manifesto do aplicativo e o Payload contém as chaves e os valores para o serviço que você está chamando dentro do aplicativo de destino.

Solicitação


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

Resposta

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