0

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

我要做的是使用媒体播放器列出视频红色列表。问题是我可以使用带有媒体对象的播放列表,但是当我在视频结束时这样做时,下一个开始。但我想做的是询问用户是否想阅读下一个视频/重播此视频或在开始之前查看上一个视频。所以我想要一个参数videonumber,它是一个int,在第一个视频结束后,我会将它发送到webhook,我的服务器会向我发送第二个视频,在第二个视频结束时我会发送2到服务器。等等总是得到下一个视频......

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

有没有办法通过谷歌行动来实现这一目标?

4

1 回答 1

1

您正在寻找的似乎是某种会话存储。在对话会话期间,您将能够以 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;
});
于 2021-10-20T18:37:49.907 回答