通过API返回对Google智能助理的回复

时间:2017-09-15 10:02:46

标签: dialogflow actions-on-google

我在Google项目上有一个使用api.ai进行操作的动作。这很好用,我可以在google助手界面上看到请求/回复(在手机和模拟器上)

我对api.ai的一个用例需要分为两部分,因为我们必须通知用户处理已经开始,然后在完成后再次通知它们(没有它们重新输出输出)。

我试图在处理完成时通知正在使用Google助手的用户,但到目前为止已失败。像这样的东西

用户:我想看看我的贷款申请是否获得批准

Google智能助理:等一下,让我检查并告诉你。

....(异步调用后端的webservice)

....几秒钟后......

....从网络服务回复谷歌助手

Google智能助理:感谢您的支持,您的申请已获批准。

我不知道怎么做"回复谷歌助理"呼叫。我试图从Api.AI调用中获取SessionId,然后使用它来发出事件请求,但似乎并没有将响应发送给助手。 Google智能助理似乎使用https://developers.google.com/actions/reference/rest/Shared.Types/AppRequest中定义的格式,但我不确定如何获取ConversationToken并将其用于将响应发送回用户。

1 个答案:

答案 0 :(得分:3)

简短回答:你做不到。

稍微长一点的回答:至少现在,没有好的方法来发送通知。您的操作只能响应用户的特定声明。你可以说出“像一分钟再问一次,我应该为你找到一个结果”,但这不是一个很棒的经历。在Google I / O 2017上,他们宣布将在某个时候向Google Home发送通知......但既未提供时间范围,也未提供有关API的任何信息。

很长,但可能仍然不满意的答案:您可以查看Transactions,让他们开始购买或请求某种类型,然后“结帐”。签出后,您将确认正在使用OrderUpdates处理某个事务,然后可以发送具有“订单”状态的更新。这些状态更新可以变成通知,或者用户可以随时查询订单状态。交易需要付款,因此这可能会根据您的需要而有效。

但是,有几点需要注意。这仍然在开发人员预览中,因此将来可能会发生变化。它也不适用于智能助理运行的所有表面,因此当 在手机上的智能助理上工作时, 现在无法在Google Home上工作。< / p>