Зарегистрируйте устройство вручную с помощью REST API

Для быстрой разработки вы можете использовать инструмент регистрации , входящий в состав Google Assistant SDK, чтобы быстро зарегистрировать или обновить модель и экземпляр устройства.

Если вы не хотите использовать этот инструмент, вы можете вручную зарегистрировать или обновить устройство, используя файл JSON и REST API. Вы можете сделать это на любом компьютере. Сначала получите токен доступа , а затем перейдите к соответствующему разделу.

Получить токен доступа

  1. Убедитесь, что инструмент авторизации обновлен:

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

  2. Получите учетные данные, чтобы иметь возможность зарегистрировать новую модель устройства. Создайте ссылку на файл JSON, который вы скопировали на устройство на предыдущем шагешаг .

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

    Вы должны увидеть URL-адрес, отображаемый в терминале:

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

  3. Скопируйте URL-адрес и вставьте его в браузер (это можно сделать на вашей машине разработки или на любой другой машине). После вашего одобрения в вашем браузере появится код, например «4/XXXX». Скопируйте и вставьте этот код в терминал:

    Enter the authorization code:

    Если авторизация прошла успешно, вы увидите ответ в формате JSON, подобный следующему:

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

    Если вместо этого вы видите UNAUTHENTICATED , значит, был введен неверный код. Попробуйте еще раз, скопировав и вставив весь код.

  4. Найдите token в ответе JSON. Скопируйте этот токен доступа (не включая двойные кавычки) в переменную среды:

    ACCESSTOKEN=access-token

Операции с моделью устройства

Определить и зарегистрировать модель устройства

  1. Создайте файл (например, device_model.json ), описывающий характеристики модели вашего устройства. Дополнительную информацию см. в справочнике JSON модели устройства.

  2. Зарегистрируйте модель вашего устройства, используя любой из следующих методов. Не забудьте заменить project_id , связанный с моделью устройства, в URL-адресах ниже.

    • Используйте следующую команду:

      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/
    • Отправьте HTTPS-запрос со следующими атрибутами:

    В любом случае сервер должен вернуть отправленную вами копию модели устройства в формате JSON. Если модель уже существует на сервере, вы получите ошибку ALREADY_EXISTS .

Получить модель устройства

Получите модель устройства, используя любой из следующих методов. Не забудьте заменить project_id и device_model_id , связанные с моделью вашего устройства, в URL-адресах ниже.

  • Используйте следующую команду:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/device_model_id
  • Отправьте HTTPS-запрос со следующими атрибутами:

Перечислите модели устройств

Перечислите все модели ваших устройств для данного проекта, используя любой из следующих методов. Не забудьте заменить project_id , связанный с моделями ваших устройств, в URL-адресах ниже.

  • Используйте следующую команду:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
  • Отправьте HTTPS-запрос со следующими атрибутами:

Обновите модель устройства

Обновите модель устройства, используя любой из следующих методов. Не забудьте заменить project_id и device_model_id , связанные с вашей моделью устройства.

  • Используйте следующую команду:

    curl -s -X PUT -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" -d @device_model.json \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/device_model_id
  • Отправьте HTTPS-запрос со следующими атрибутами:

В любом случае сервер должен вернуть копию отправленного вами JSON обновленной модели устройства.

Удаление модели устройства

Удалите модель устройства одним из следующих способов. Не забудьте заменить project_id и device_model_id , связанные с моделью вашего устройства, в URL-адресах ниже.

  • Используйте следующую команду:

    curl -s -X DELETE -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/device_model_id
  • Отправьте HTTPS-запрос со следующими атрибутами:

Операции с экземпляром устройства

Определить и зарегистрировать экземпляр устройства

  1. Создайте файл (например, test_device.json ), идентифицирующий ваше устройство. Дополнительную информацию см. в справочнике по JSON экземпляра устройства.

  2. Зарегистрируйте свое устройство одним из следующих способов. Не забудьте заменить project_id , связанный с моделью устройства, в URL-адресах ниже.

    • Используйте следующую команду:

      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/
    • Отправьте HTTPS-запрос со следующими атрибутами:

    В любом случае сервер должен вернуть копию отправленного вами экземпляра устройства в формате JSON. Если экземпляр уже существует на сервере, вы получите ошибку ALREADY_EXISTS .

Получить экземпляр устройства

Получите экземпляр вашего устройства, используя любой из следующих методов. Не забудьте заменить project_id , связанный с моделью устройства, и id устройства в URL-адресах ниже.

  • Используйте следующую команду:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • Отправьте HTTPS-запрос со следующими атрибутами:

Список экземпляров устройств

Составьте список всех экземпляров вашего устройства для данного проекта, используя любой из следующих методов. Не забудьте заменить project_id , связанный с экземплярами устройства, в URL-адресах ниже.

  • Используйте следующую команду:

    curl -s -X GET -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
  • Отправьте HTTPS-запрос со следующими атрибутами:

Удаление экземпляра устройства

Удалите экземпляр устройства одним из следующих способов. Не забудьте заменить project_id , связанный с моделью устройства, и id устройства в URL-адресах ниже.

  • Используйте следующую команду:

    curl -s -X DELETE -H "Content-Type: application/json" \
    -H "Authorization: Bearer $ACCESSTOKEN" \
    https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
  • Отправьте HTTPS-запрос со следующими атрибутами: