为了实现快速开发,您可以使用 Google 助理 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
您应该会在终端中看到一个网址:
Please visit this URL to authorize this application: https://...
复制网址并将其粘贴到浏览器中(可以在开发机器或任何其他机器上完成)。您批准后,浏览器中会显示代码,例如“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
,则表示输入的验证码无效。请重试,但请务必复制并粘贴整段代码。在 JSON 响应中找到
token
。将此访问令牌(不包括英文双引号)复制到一个环境变量中:ACCESSTOKEN=access-token
设备型号操作
定义和注册设备模型
创建一个文件(例如
device_model.json
)来描述设备型号的特征。如需了解详情,请参阅设备模型 JSON 参考文档。使用以下任一方法注册您的设备模型。请务必在以下网址中替换掉与设备型号关联的
project_id
。使用以下命令:
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 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/
- 方法:
POST
- 正文:
device_model.json
的内容 - 标头:
Authorization: Bearer <access-token>
其中 <access-token> 是包含访问令牌的字符串
无论采用哪种方法,服务器都应返回您发送的设备模型 JSON 的副本。如果服务器上已存在该模型,您将收到
ALREADY_EXISTS
错误。
获取设备型号
使用以下任一方法获取设备模型。请务必在以下网址中替换掉与您的设备型号相关联的 project_id
和 device_model_id
。
使用以下命令:
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 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
- 方法:
GET
- 正文:无
- 标头:
Authorization: Bearer <access-token>
其中 <access-token> 是包含访问令牌的字符串
列出设备型号
您可以使用以下任一方法列出给定项目的所有设备型号。请务必在以下网址中替换掉与您的设备型号相关联的 project_id
。
使用以下命令:
curl -s -X GET -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/deviceModels/
发送包含以下属性的 HTTPS 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/
- 方法:
GET
- 正文:无
- 标头:
Authorization: Bearer <access-token>
其中 <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 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
- 方法:
PUT
- 正文:
device_model.json
的内容 - 标头:
Authorization: Bearer <access-token>
其中 <access-token> 是包含访问令牌的字符串
无论采用哪种方法,服务器都应返回您发送的更新后的设备模型 JSON 的副本。
删除设备型号
使用以下任一方法删除设备模型。请务必在以下网址中替换掉与您的设备型号相关联的 project_id
和 device_model_id
。
使用以下命令:
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 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/deviceModels/<device_model_id>
- 方法:
DELETE
- 正文:无
- 标头:
Authorization: Bearer <access-token>
其中 <access-token> 是包含访问令牌的字符串
设备实例操作
定义并注册设备实例
创建一个文件(例如
test_device.json
)用于标识您的设备。如需了解详情,请参阅设备实例 JSON 参考文档。使用以下任一方法注册设备。请务必在以下网址中替换掉与设备型号关联的
project_id
。使用以下命令:
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 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/
- 方法:
POST
- 正文:
test_device.json
的内容 - 标头:
Authorization: Bearer <access-token>
其中 <access-token> 是包含访问令牌的字符串
无论采用哪种方法,服务器都应返回您发送的设备实例 JSON 的副本。如果服务器上已存在该实例,您会收到
ALREADY_EXISTS
错误。
获取设备实例
使用以下任一方法获取您的设备实例。请记得在以下网址中替换掉与设备型号和设备 id
相关联的 project_id
。
使用以下命令:
curl -s -X GET -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
发送包含以下属性的 HTTPS 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/<id>
- 方法:
GET
- 正文:无
- 标头:
Authorization: Bearer <access-token>
其中 <access-token> 是包含访问令牌的字符串
列出设备实例
您可以使用以下任一方法列出给定项目中的所有设备实例。请务必在以下网址中替换与设备实例关联的 project_id
。
使用以下命令:
curl -s -X GET -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/
发送包含以下属性的 HTTPS 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/
- 方法:
GET
- 正文:无
- 标头:
Authorization: Bearer <access-token>
其中 <access-token> 是包含访问令牌的字符串
删除设备实例
使用以下任一方法删除您的设备实例。请记得在以下网址中替换掉与设备型号和设备 id
相关联的 project_id
。
使用以下命令:
curl -s -X DELETE -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESSTOKEN" \ https://embeddedassistant.googleapis.com/v1alpha2/projects/project_id/devices/id
发送包含以下属性的 HTTPS 请求:
- 网址:https://embeddedassistant.googleapis.com/v1alpha2/projects/<project_id>/devices/<id>
- 方法:
DELETE
- 正文:无
- 标头:
Authorization: Bearer <access-token>
其中 <access-token> 是包含访问令牌的字符串