Google 操作 如何将参数添加到发送到我的 webhook 的用户响应

Google Action How to add a parameter to the userresponse sent to my webhook

我正在 google 操作控制台上使用 google 操作。我能够与我的服务器通信并通过 webhook 获得一些响应。我也可以使用意图发送参数。但是那些参数是预先记录的。它可以是我之前选择的名称,也可以是系统预定义的类型,如日期或数字。但我想发送一个数字,每次调用 webhook 时我都可以递增。

我正在尝试做的是使用媒体播放器显示红色视频列表。问题是我可以将播放列表与媒体对象一起使用,但是当我在视频结束时这样做时,下一个开始。但我想做的是询问用户是否想阅读下一个视频/重播此视频或在开始之前查看上一个视频。所以我想要一个 videonumber 参数,它是一个 int,在第一个视频结束后,我会将它发送到 webhook,我的服务器会向我发送第二个视频,在第二个视频结束时,我会发送 2 到服务器。依此类推,始终获取下一个视频...

更一般地说,有没有办法将参数发送到 webhook,例如是否可以发送布尔值?我试图在意图中添加一个参数,但如果用户没有说出该参数,它就不会添加到我的 Json 发送到我的服务器。

有没有办法通过 google 操作来实现这一点?

您要找的似乎是某种 session storage。在对话会话期间,您将能够以 JSON 格式设置字段和属性的集合,其中包括数字和布尔类型。

轮流之间,你可以在会话存储中设置一个字段:

// Assign color to session storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.session.params.exampleColor = color;
});

在以后的意图中,也许是后续意图,您可以从同一个地方检索值:

// Retrieve color from session storage
app.handle('getStoredColor', conv => {
  let color = conv.session.params.exampleColor;
});