Dialogflow es 名称和电子邮件实体的空响应
我在API.AI的文本响应中尝试了内置变量“user”方法,Dialogflow es 名称和电子邮件实体的空响应,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,我在API.AI的文本响应中尝试了内置变量“user”方法,$user.name和$user.email,以问候用户并显示email-Id。是否有内置变量名user 示例(用户使用Gmail注册) 没有内置参数用户 即使有这样一个内置参数,它也不会自动公开电子邮件地址(可能也不会公开名称) 因为您在Google上使用的是Actions,所以您可以使用它来获取诸如用户名之类的内容,但这需要通过Web服务来实现。有关此操作的更多信息,请参阅(名称和位置是您可以请求权限的两项内容) 但是,电子邮件地址
$user.name
和$user.email
,以问候用户并显示email-Id。是否有内置变量名user
示例(用户使用Gmail注册)
没有内置参数
用户
即使有这样一个内置参数,它也不会自动公开电子邮件地址(可能也不会公开名称)
因为您在Google上使用的是Actions,所以您可以使用它来获取诸如用户名之类的内容,但这需要通过Web服务来实现。有关此操作的更多信息,请参阅(名称和位置是您可以请求权限的两项内容)
但是,电子邮件地址不是您可以通过这种方式请求的。要做到这一点,您可能需要通过将其链接到Google标识。有关更多信息,请参阅。没有内置变量“user”
如果需要此类功能,则需要启用。使用返回的访问令牌,并使用它获取姓名、电子邮件或任何东西。经过很长一段时间后,我能够使它正常工作。 我们必须首先启用webhook,我们可以在对话框flow fulfillment docs中看到如何启用webhook 如果我们要使用GoogleAssistant,那么我们必须首先在集成中启用GoogleAssistant集成。 然后按照下面提到的步骤在google上的actions中链接帐户:-
accessToken=req.get(“原始请求”).get(“数据”).get(“用户”).get(“accessToken”)
r=requests.get(链接)
打印(“电子邮件Id=”+r.json()[“电子邮件”])
打印(“Name=“+r.json()[“Name”])
既然最初的问题被问到了,现在有很多方法可以得到这些信息——还有一些警告 您现在可以使用Google登录助手来获取个人资料信息,如他们的Google ID和姓名。如果他们在个人资料中允许他们的电子邮件地址,这也包括在内 如果您正在使用google library上的操作,请在
conv.user.profile.payload
中的意图处理程序中。如果未设置,则可以使用来请求它
如果您正在使用,您可以将User/IsAuthenticated
设置为一项要求,该信息将在User/Profile
下的环境中可用
无论哪种情况,用户都必须授予您首次获取信息的权限。在此之后,此信息应可用于所有后续请求。$user来自何处以及如何定义?如果您提供屏幕截图以显示如何定义意图,以及可能的任何实体,这将非常有帮助。问题已编辑,您可以检查新的吗?为什么您认为有预定义的参数“user”?你有没有提到这个被记录在案的地方?我在一些随机的博客上读到,除了我什么都不知道之外,我几乎记不起内置的变量名“user”。谢谢你的新答案:)很高兴这个问题又渗出来了,而且很有帮助!
Response-Code, I had tried in API.AI's text-response dialog box:
Hi, $user.firstname
This is your $user.email
Expected:
User: Hi!
My-Assistant-App: Hi, Varun.
User: Show my email-id
My-Assistant-App: This is your ******@gmail.com
Output, I am getting in the My-Assistant-App:
User: Hi!
My-Assistant-app: Hi, $user.firstname
User: Show my email-id
My-Assistant-App: This is your $user.email