首页 > 解决方案 > 谷歌嵌入式助手服务在包含时给出关于 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_configtext_query必须提供。”

为什么我会收到这个错误,什么时候text_query清楚地填写?如果我尝试设置,我会得到同样的错误audio_in_config

标签: google-assistant-sdk

解决方案


回答我自己的问题,结果发现我需要将请求包装在StreamBody proto中,将序列化的内容AssistRequest放在消息字段中。这在我能看到的任何地方都没有记录!


推荐阅读