google-assistant-sdk - 谷歌嵌入式助手服务在包含时给出关于 text_config 缺失的错误
问题描述
我正在尝试使用嵌入式 Google 助理服务(https://developers.google.com/assistant/sdk/reference/rpc/google.assistant.embedded.v1alpha2)从我正在编写的应用程序发送一些文本查询在锈。由于没有官方客户端库,而且我无法获得我尝试过的任何一个 GRPC 库,我将 AssistRequest 原型直接发布到https://embeddedassistant.googleapis.com/$rpc/google。 assistant.embedded.v1alpha2.EmbeddedAssistant/Assist。在获得适当的 OAuth 令牌并注册设备 ID 后,我发送一个如下所示的原型:
config {
text_query: "what's the time"
audio_out_config {
encoding: MP3
sample_rate_hertz: 16000
}
screen_out_config {
screen_mode: PLAYING
}
dialog_state_in {
language_code: "en-US"
}
device_config {
device_id: "my_device_id"
device_model_id: "<my model id>"
}
}
(填写有效的 device_id 和 device_model_id)。但是,我总是得到一个 400 回来,错误
“无效的\'AssistConfig\':
audio_in_config
或text_query
必须提供。”
为什么我会收到这个错误,什么时候text_query
清楚地填写?如果我尝试设置,我会得到同样的错误audio_in_config
。
解决方案
回答我自己的问题,结果发现我需要将请求包装在StreamBody
proto中,将序列化的内容AssistRequest
放在消息字段中。这在我能看到的任何地方都没有记录!
推荐阅读
- java - 试图在java中用石英制作每日工作计划
- flutter - 在颤动中关闭包含 DraggableScrollableSheet 的 BottomSheet
- swift - 按下按钮时快速更新文本
- c - 字符类型隐式减法在 C 中不起作用
- ethereum - 如何在代币合约中区分在 uniswap 上买卖 erc-20 代币
- import - Stata:导入带有不一致分隔符的 .txt
- python - 使用 python 程序从 SHA3_512 值中恢复密码
- php - 如何将数据从托管在 Heroku 上的 Node.js 应用程序发送到托管在完全独立的(Cpanel)服务器上的 PHP 文件?
- cassandra - 没有二级索引的 Cassandra 数据模型
- scala.js - ScalaJS fullLinkJS 错误