【发布时间】:2020-02-13 18:35:22
【问题描述】:
我将 Dialogflow 与自定义服务器一起用作后端服务器,不时发送 JSON 以完成任务。
例如,我想在我的系统中进行一个非常简单的登录。为此,我有一个意图,“session.login”,它有一个必需的参数,即用户名:
该意图已启用,我的后端只是检查给定参数username 是否存在于数据库中,然后转发(使用后续事件)到另一个意图“登录失败”或“登录-成功”:{"followupEventInput": {"name": "login-failed", "languageCode": "en"}}.
到目前为止,这一切都有效,但现在我只是希望这个意图能够说“你好,$username”之类的话:
但是我没能做到这一点,因为那时参数用户名似乎已经消失了。当我尝试上面给出的代码时,Actions on Google 失败,这意味着我的机器人离开了对话并且我收到了错误
MalformedResponse expected_inputs[0].input_prompt.rich_initial_prompt: 'rich_response' must contain at least one item.
我尝试从我的履行服务器发回有关参数的信息,这样我的新响应将我转发到 session.login.success 意图如下所示:
{'outputContexts': [{'lifespanCount': 5, 'name': 'projects/MY_AGENT/MY_SESSION/contexts/login-incomplete', 'parameters': {'username': 'aron'}}], 'followupEventInput': {'languageCode': 'en', 'name': 'login-success'}},但这也无济于事。
如果有人对如何做到这一点有任何帮助,那就太好了,谢谢!
【问题讨论】:
标签: dialogflow-es actions-on-google