为了快速进行开发,您可以使用注册工具 用于快速注册或更新设备 模型和实例。
如果不想使用此工具,您可以手动注册 或使用 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>是包含访问令牌的字符串