Google api 通过google操作传递状态数据

Google api 通过google操作传递状态数据,google-api,dialogflow-es,actions-on-google,google-home,Google Api,Dialogflow Es,Actions On Google,Google Home,我正在使用api.ai为Google Home开发一个Google Actions项目 是否可以将状态参数作为响应的一部分传递给api.ai,并将其包含在下一个请求中 AmazonAlexaAPI处理了这样一个流,它派上了用场 谢谢 编辑: 我以前没有提到过这一点:在GoogleAssistant触发我的意图之后,我让api.ai向webhook发送请求。定义了api.ai期望的响应。我已经尝试在响应中包含额外的字段,但这些字段不会包含在来自api.ai的任何未来意图请求中。我还尝试向响应()中

我正在使用api.ai为Google Home开发一个Google Actions项目

是否可以将状态参数作为响应的一部分传递给api.ai,并将其包含在下一个请求中

AmazonAlexaAPI处理了这样一个流,它派上了用场

谢谢

编辑:

我以前没有提到过这一点:在GoogleAssistant触发我的意图之后,我让api.ai向webhook发送请求。定义了api.ai期望的响应。我已经尝试在响应中包含额外的字段,但这些字段不会包含在来自api.ai的任何未来意图请求中。我还尝试向响应()中特定于google的部分添加字段和值,但没有成功

作为我感兴趣的一个例子,当响应Alexa请求时,我们可以包含一个json字段“sessionAttributes”,然后在作为交互一部分的任何未来请求中由Amazon传递


在本例中,我根据第一个意图查询数据库键(随后用于提取记录)并在sessionAttributes中传递该键,以避免对我收到的每个意向请求执行该查找。

您可以在API.ai中创建一个可选参数来捕获/存储该值,并将发送到API.ai的任何消息附加一个标记,然后添加要缓存的数据库值,因此,API.ai从标记中识别出要缓存的值作为参数,这也将从API.ai中传递回来,因此如果需要链接/循环此参数,您只需再次检查它是否具有特殊的“append”参数值,以便将其附加到下一条用户消息中


也就是说,上下文可能会以更直接的方式实现您试图实现的相同最终目标

您可以在API.ai中创建一个可选参数来捕获/存储此值,并将发送到API.ai的任何消息附加一个标记,然后添加要缓存的数据库值,因此,API.ai从标记中识别出要缓存的值作为参数,这也将从API.ai中传递回来,因此如果需要链接/循环此参数,您只需再次检查它是否具有特殊的“append”参数值,以便将其附加到下一条用户消息中


这就是说,上下文可能会以更直接的方式实现您试图实现的相同最终目标

您在Alexa dev中寻找sessionAttributes的等价物取决于您使用的是API.ai webhook还是对话webhook。有关差异的更多信息,请参阅

由于您使用的是API.ai,因此假设您使用的是Node.js客户端库,请使用下面的代码段。”“上下文”可以存储数据,而不仅仅是作为确定您在对话中所处位置的分类标志。在调用“ask”并完成webhook实现之前,请调用setContext

app.setContext(“”,)

然后,对于下一轮实现,从上下文中的parameters对象检索JSON。通过以下方式获得:

var myContext=app.getContext(“”)


有关更多信息,请参考中的示例。

您在Alexa dev中寻找sessionAttributes的等效项取决于您使用的是API.ai webhook还是对话webhook。有关差异的更多信息,请参阅

由于您使用的是API.ai,因此假设您使用的是Node.js客户端库,请使用下面的代码段。”“上下文”可以存储数据,而不仅仅是作为确定您在对话中所处位置的分类标志。在调用“ask”并完成webhook实现之前,请调用setContext

app.setContext(“”,)

然后,对于下一轮实现,从上下文中的parameters对象检索JSON。通过以下方式获得:

var myContext=app.getContext(“”)


有关更多信息,请参考中的示例。

您在上下文中具有此能力。你看到了吗?那不是我需要的。在交互期间,我试图缓存的服务器上有数据。我很想知道在请求/响应正文中是否有这样做的方法。@NickDario回答了下面的帮助?如果是,请接受。我还没有机会测试它,我最终使用redis会话在本地存储信息。我没有使用node,但我尝试在json响应中向上下文添加值,但收效甚微。我再看一看,你在上下文中有这种能力。你看到了吗?那不是我需要的。在交互期间,我试图缓存的服务器上有数据。我很想知道在请求/响应正文中是否有这样做的方法。@NickDario回答了下面的帮助?如果是,请接受。我还没有机会测试它,我最终使用redis会话在本地存储信息。我没有使用node,但我尝试在json响应中向上下文添加值,但收效甚微。不过我会再看一看。这对我的编辑仍然有效吗?api.ai期望的响应不包括我可以传回的任何标记。这对于我的编辑是否仍然有效?api.ai期望的响应不包括我可以传回的任何标记。