Для быстрой разработки вы можете использовать инструмент регистрации , входящий в состав 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>
, где <токен доступа> — это строка, содержащая токен доступа.