Google Action Console(云功能编辑器) 如何向用户提问

Google Action Console(Cloud function editor) How to ask something to the user

您好,我正在使用 google 助手,我在 Google 操作控制台中使用 Action Builder,因为它看起来很容易使用。我在这里 https://developers.google.com/assistant/conversational/overview and i followed this tutorial https://www.youtube.com/watch?v=Z1hxvniJ18s 修改了文档,我能够理解它的基本工作原理以及如何使用 Webhook。问题是我可以给用户答案,但我不能问他问题。我是这样做的:

    app.handle('myhandler', (conv) => {
  conv.add('Hello world from fulfillment');
});

这项工作,当我从我的场景调用我的 webhook 时,我得到了 webhook 的响应。但我找不到如何向用户提问。我看到有些人可以使用 conv.ask('my question'); 但是当我这样做并在 Action Console Simulator 中测试它时,我得到一个错误:
由于客户端问题导致 webhook 调用失败:

Error querying agent endpoint. State: URL_UNREACHABLE, reason: UNREACHABLE_5xx.

在我得到的 webhookResponse 中:

conv.ask is not a function

我一直在寻找很多话题,似乎是来自 google 云的 DialogFlow,但它似乎更难实现,我不知道我是否可以 link 它到我的动作构建...

我的问题是如何使用 Google 操作控制台和 Webhook 中集成的 Could 函数编辑器提出问题(并在第二次添加建议)?如果不可能,我是否必须在 Dialogflow 中从 0 重新启动所有 google 助手项目?

您正在学习有关使用 Actions Builder 的教程,它在某些方面与 Dialogflow 略有不同。一个这样的例子是 .ask 方法没有在 DF 中使用。相反,您使用 .add 方法。它们对于每个平台来说基本上是等价的。所以你应该继续使用 .add 作为你的问题和你的建议筹码:

conv.add('What is your favorite color?')
conv.add(new Suggestion({title: 'My Suggestion Title'}))

编辑

不要忘记将 const {Suggestion} = require('@assistant/conversation'); 添加为 include