Actions on google 让我的谷歌主页验证一个口头代码

Actions on google 让我的谷歌主页验证一个口头代码,actions-on-google,dialogflow-es,Actions On Google,Dialogflow Es,我想建立一个应用程序与口头代码验证 在此之前,我可以在dialogflow中设置cde,只需验证即可 GH : "For continue, give me the code" Me : " 1 2 3 4" GH " Access granted" / "Access denied" 但是,如何在dialogflow上输入并获取此代码?如果您想使用数字序列作为代码,可以使用@sys.number sequence实体来识别它,然后在webhook中检查代码 另一种方法是简单地创建一个自定义实

我想建立一个应用程序与口头代码验证

在此之前,我可以在dialogflow中设置cde,只需验证即可

GH : "For continue, give me the code"
Me : " 1 2 3 4"
GH " Access granted" / "Access denied"

但是,如何在dialogflow上输入并获取此代码?

如果您想使用数字序列作为代码,可以使用
@sys.number sequence
实体来识别它,然后在webhook中检查代码


另一种方法是简单地创建一个自定义实体“code”,其条目为“1234”。

如果您想使用数字序列作为代码,您可以使用
@sys.number sequence
实体来识别它,然后在webhook中检查代码


另一种方法是简单地制作一个具有“1234”条目的自定义实体“代码”。

首先考虑一下,如果你真的想这么做。让某人大声说出密码并不是很安全,而且在多用户环境中增加的额外安全性也很小

这有两个阶段-第一个阶段是建立一个意图来处理这个问题,特别是以您想要的格式,第二个阶段是处理并验证这是正确的代码

设置意图

我们需要两个意图——一个是提示和设置上下文,以便我们知道需要验证代码,另一个是检查代码

提示意图可能如下所示:

这里值得注意的是,它正在设置一个输出上下文。我们马上就会明白为什么这很重要

处理数字输入的可能如下所示:

这本书还有很多内容。首先请注意,我们需要一个与上一个意图的输出上下文相匹配的输入上下文。这意味着只有在设置了上下文的情况下,此意图才应该匹配。这让我们可以在谈话的其他地方谈论数字,而不会触发这种验证

接下来,我们将查找与
@sys.number sequence
内置实体类型匹配的数字序列。还有其他可能对您有用的实体类型-请查看并选择一种有意义的实体类型,或者进行实验,以找到最适合您的实体类型

最后,我们将使用webhook来验证代码是否正确。下一节课是什么

验证代码

虽然有一些方法可以在没有webhook的情况下进行验证,但这确实是最简单的方法。如果您使用Google的库来处理Dialogflow的输入,您可以通过以下方式获得值

var code = app.getArgument('number-sequence');
使用任何参数名。如果您没有使用该库,可以在JSON的
result.parameters.number sequence
中找到它


你将验证这个代码,不管你想要什么,并返回一个消息,指示它是否正确。

首先考虑你是否真的想这么做。让某人大声说出密码并不是很安全,而且在多用户环境中增加的额外安全性也很小

这有两个阶段-第一个阶段是建立一个意图来处理这个问题,特别是以您想要的格式,第二个阶段是处理并验证这是正确的代码

设置意图

我们需要两个意图——一个是提示和设置上下文,以便我们知道需要验证代码,另一个是检查代码

提示意图可能如下所示:

这里值得注意的是,它正在设置一个输出上下文。我们马上就会明白为什么这很重要

处理数字输入的可能如下所示:

这本书还有很多内容。首先请注意,我们需要一个与上一个意图的输出上下文相匹配的输入上下文。这意味着只有在设置了上下文的情况下,此意图才应该匹配。这让我们可以在谈话的其他地方谈论数字,而不会触发这种验证

接下来,我们将查找与
@sys.number sequence
内置实体类型匹配的数字序列。还有其他可能对您有用的实体类型-请查看并选择一种有意义的实体类型,或者进行实验,以找到最适合您的实体类型

最后,我们将使用webhook来验证代码是否正确。下一节课是什么

验证代码

虽然有一些方法可以在没有webhook的情况下进行验证,但这确实是最简单的方法。如果您使用Google的库来处理Dialogflow的输入,您可以通过以下方式获得值

var code = app.getArgument('number-sequence');
使用任何参数名。如果您没有使用该库,可以在JSON的
result.parameters.number sequence
中找到它

然后,您将根据需要验证此代码,并返回一条消息,指示其是否正确