Registrar um dispositivo manualmente com a API REST

Para um desenvolvimento rápido, você pode usar a ferramenta de registro fornecida com o SDK do Google Assistente para registrar ou atualizar rapidamente um modelo de dispositivo e uma instância.

Se não quiser usar essa ferramenta, registre ou atualize manualmente um dispositivo usando um arquivo JSON e a API REST. É possível fazer isso em qualquer computador. Primeiro, receba um token de acesso e pule para a seção apropriada.

Receber um token de acesso

  1. Verifique se a ferramenta de autorização está atualizada:

    python -m pip install --upgrade google-auth-oauthlib[tool]

  2. Conseguir credenciais para registrar um novo modelo de dispositivo. Faça referência ao arquivo JSON que você copiou para o dispositivo em uma etapa etapa.

    google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \
          --headless --client-secrets /path/to/client_secret_client-id.json

    O URL exibido no terminal deve aparecer:

    Please visit this URL to authorize this application: https://...

  3. Copie e cole o URL em um navegador. Isso pode ser feito na sua máquina de desenvolvimento ou em qualquer outra. Após sua aprovação, um código aparecerá no navegador, como "4/XXXX". Copie e cole este código no terminal:

    Enter the authorization code:

    Se a autorização for bem-sucedida, você verá uma resposta JSON semelhante a esta:

    {
       "scopes": ["https://www.googleapis.com/auth/assistant-sdk-prototype"],
       "token_uri": "https://accounts.google.com/o/oauth2/token",
       "token": "ya29.GlujBLa_kuXZ5GnGBPBe_A6NpczLcpOtglEC0wHVORnmEhHETzlSW",
       "client_id": "795595571889-6iesr9a3nkmnipbdfnqi6gehiklm2m28.apps.googleusercontent.com",
       "client_secret": "Un8_TNFnb55555auSAGasvAg",
       "refresh_token": "1/4ZMBhTR3bTYWVEMatYWLOxW755555hlQXZI5uC02F2U"
     }

    Se, no entanto, UNAUTHENTICATED aparecer, isso significa que um código inválido foi inserido. Tente novamente, com cuidado para copiar e colar o código inteiro.

  4. Encontre token na resposta JSON. Copie esse token de acesso (sem incluir as aspas duplas) em uma variável de ambiente:

    ACCESSTOKEN=access-token

Operações do modelo de dispositivo

Definir e registrar o modelo do dispositivo

  1. Crie um arquivo (por exemplo, device_model.json) que descreve as características do modelo do dispositivo. Consulte a referência JSON do modelo de dispositivo para mais informações.

  2. Registre o modelo de dispositivo usando um dos métodos a seguir. Lembre-se de substituir o project_id associado ao modelo do dispositivo nos URLs abaixo.

    • Use o comando a seguir:

      curl -s -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESSTOKEN" -d @device_model.json \
      https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
    • Envie uma solicitação HTTPS com os seguintes atributos:

    Para qualquer um dos métodos, o servidor precisa retornar uma cópia do modelo de dispositivo JSON que você enviou. Se o modelo já existir no servidor, você receberá um erro ALREADY_EXISTS.

Receber um modelo de dispositivo

Consiga um modelo de dispositivo usando um dos métodos a seguir. Lembre-se de substituir o project_id e o device_model_id associados ao modelo do dispositivo nos URLs abaixo.

Listar os modelos de dispositivo

Liste todos os modelos de dispositivo de um determinado projeto usando um dos métodos a seguir. Lembre-se de substituir o project_id associado aos modelos de dispositivo nos URLs abaixo.

Atualizar o modelo do dispositivo

Atualize o modelo do dispositivo usando um dos métodos a seguir. Lembre-se de substituir o project_id e o device_model_id associados ao modelo do dispositivo.

Para qualquer um dos métodos, o servidor retornará uma cópia do JSON do modelo de dispositivo atualizado que você enviou.

Excluir um modelo de dispositivo

Exclua um modelo de dispositivo usando um dos métodos a seguir. Lembre-se de substituir o project_id e o device_model_id associados ao modelo do dispositivo nos URLs abaixo.

Operações da instância do dispositivo

Definir e registrar uma instância de dispositivo

  1. Crie um arquivo (por exemplo, test_device.json), que identifica seu dispositivo. Consulte a referência JSON da instância do dispositivo para mais informações.

  2. Registre seu dispositivo usando um dos métodos a seguir. Lembre-se de substituir o project_id associado ao modelo do dispositivo nos URLs abaixo.

    • Use o comando a seguir:

      curl -s -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer $ACCESSTOKEN" -d @test_device.json \
      https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
    • Envie uma solicitação HTTPS com os seguintes atributos:

    Para qualquer um dos métodos, o servidor retornará uma cópia do JSON da instância do dispositivo que você enviou. Se a instância já existir no servidor, você receberá um erro ALREADY_EXISTS.

Acessar uma instância de dispositivo

Acesse a instância do dispositivo usando um dos métodos a seguir. Lembre-se de substituir o project_id associado ao modelo do dispositivo e o id nos URLs abaixo.

Listar as instâncias do dispositivo

Liste todas as instâncias de dispositivo de um determinado projeto usando um dos métodos a seguir. Lembre-se de substituir o project_id associado às instâncias do dispositivo nos URLs abaixo.

  • Use o comando a seguir:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
  • Envie uma solicitação HTTPS com os seguintes atributos:

Excluir uma instância de dispositivo

Exclua a instância do dispositivo usando um dos métodos a seguir. Lembre-se de substituir o project_id associado ao modelo do dispositivo e o id nos URLs abaixo.

  • Use o comando a seguir:

    curl -s -X DELETE -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • Envie uma solicitação HTTPS com os seguintes atributos: