Для быстрой разработки вы можете использовать инструмент регистрации , входящий в состав Google Assistant SDK, чтобы быстро зарегистрировать или обновить модель и экземпляр устройства.
Если вы не хотите использовать этот инструмент, вы можете вручную зарегистрировать или обновить устройство, используя файл JSON и REST API. Вы можете сделать это на любом компьютере. Сначала получите токен доступа , а затем перейдите к соответствующему разделу.
Получить токен доступа
- Убедитесь, что инструмент авторизации обновлен: - python -m pip install --upgrade google-auth-oauthlib[tool] 
- Получите учетные данные, чтобы иметь возможность зарегистрировать новую модель устройства. Ссылка на файл 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://... 
- Скопируйте 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, значит, был введен неверный код. Попробуйте еще раз, скопировав и вставив весь код.
- Найдите - tokenв ответе JSON. Скопируйте этот токен доступа (не включая двойные кавычки) в переменную среды:- ACCESSTOKEN=access-token 
Операции с моделью устройства
Определить и зарегистрировать модель устройства
- Создайте файл (например, - device_model.json), описывающий характеристики модели вашего устройства. Дополнительную информацию см. в справочнике JSON модели устройства.
- Зарегистрируйте модель вашего устройства, используя любой из следующих методов. Не забудьте заменить - 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/
-  Метод: POST
-  Тело: содержимое файла device_model.json
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
 - В любом случае сервер должен вернуть отправленную вами копию модели устройства в формате 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
-  Метод: GET
- Тело: Нет
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
Перечислите модели устройств
 Перечислите все модели ваших устройств для данного проекта, используя любой из следующих методов. Не забудьте заменить 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/
-  Метод: GET
- Тело: Нет
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
Обновите модель устройства
 Обновите модель устройства, используя любой из следующих методов. Не забудьте заменить 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
-  Метод: PUT
-  Тело: содержимое файла device_model.json
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
В любом случае сервер должен вернуть копию отправленного вами 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
-  Метод: DELETE
- Тело: Нет
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
Операции с экземпляром устройства
Определить и зарегистрировать экземпляр устройства
- Создайте файл (например, - test_device.json), идентифицирующий ваше устройство. Дополнительную информацию см. в справочнике по JSON экземпляра устройства.
- Зарегистрируйте свое устройство одним из следующих способов. Не забудьте заменить - 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/
-  Метод: POST
-  Тело: содержимое test_device.json
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
 - В любом случае сервер должен вернуть копию отправленного вами экземпляра устройства в формате 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/<id>
-  Метод: GET
- Тело: Нет
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
Список экземпляров устройств
 Составьте список всех экземпляров вашего устройства для данного проекта, используя любой из следующих методов. Не забудьте заменить 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/
-  Метод: GET
- Тело: Нет
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
Удаление экземпляра устройства
 Удалите экземпляр устройства одним из следующих способов. Не забудьте заменить 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-запрос со следующими атрибутами: - URL-адрес: https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/<id>
-  Метод: DELETE
- Тело: Нет
-  Заголовки: Authorization: Bearer <access-token>, где <токен доступа> — это строка, содержащая токен доступа.
 
