为了快速进行开发,您可以使用注册工具 用于快速注册或更新设备 模型和实例。
如果不想使用此工具,您可以手动注册 或使用 JSON 文件和 REST API 更新设备。你可以在任意一台设备上 计算机。首先获取访问令牌,然后跳至 相应部分。
获取访问令牌
- 确保授权工具是最新版本: - python -m pip install --upgrade google-auth-oauthlib[tool] 
- 获取凭据,以便能够注册新设备模型。引用您复制到 上一个 step。 - 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
- Body: “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
- Body: 无
- 标题: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
- Body: 无
- 标题: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
- Body: “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
- Body: 无
- 标题: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
- Body: “test_device.json”的内容
- 标题:Authorization: Bearer <access-token>其中 <access-token>是包含访问令牌的字符串
 
 - 无论采用哪种方法,服务器都应返回设备实例 JSON 的副本 。如果服务器上已经存在该实例, - ALREADY_EXISTS错误。
获取设备实例
使用以下任一方法获取您的设备实例。提醒我
请将其替换为 project_id
与设备型号和设备 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
- Body: 无
- 标题: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
- Body: 无
- 标题:Authorization: Bearer <access-token>其中 <access-token>是包含访问令牌的字符串
 
删除设备实例
使用以下任一方法删除您的设备实例。提醒我
请将其替换为 project_id
与设备型号和设备 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
- Body: 无
- 标题:Authorization: Bearer <access-token>其中 <access-token>是包含访问令牌的字符串
 
