Dialogflow es 名称和电子邮件实体的空响应

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服务来实现。有关此操作的更多信息,请参阅(名称和位置是您可以请求权限的两项内容) 但是,电子邮件地址

我在API.AI的文本响应中尝试了内置变量“user”方法,
$user.name
$user.email
,以问候用户并显示email-Id。是否有内置变量名user

示例(用户使用Gmail注册)


没有内置参数
用户

即使有这样一个内置参数,它也不会自动公开电子邮件地址(可能也不会公开名称)

因为您在Google上使用的是Actions,所以您可以使用它来获取诸如用户名之类的内容,但这需要通过Web服务来实现。有关此操作的更多信息,请参阅(名称和位置是您可以请求权限的两项内容)


但是,电子邮件地址不是您可以通过这种方式请求的。要做到这一点,您可能需要通过将其链接到Google标识。有关更多信息,请参阅。

没有内置变量“user”
如果需要此类功能,则需要启用。使用返回的访问令牌,并使用它获取姓名、电子邮件或任何东西。

经过很长一段时间后,我能够使它正常工作。 我们必须首先启用webhook,我们可以在对话框flow fulfillment docs中看到如何启用webhook 如果我们要使用GoogleAssistant,那么我们必须首先在集成中启用GoogleAssistant集成。 然后按照下面提到的步骤在google上的actions中链接帐户:-

  • 转到google云控制台->ApisandServices->凭证->OAuth 2.0客户端ID->Web客户端->注意客户端ID和客户端机密 ->下载JSON-从JSON中记下项目id、auth_uri、token_uri ->授权重定向URI->白名单我们的应用程序的URL->在此URL固定部分是,并将项目id附加到URL中 ->保存更改

  • 谷歌->账户链接设置上的操作 1.授权类型=授权代码 2.客户信息 1.填写客户端id、客户端密码、身份验证uri、令牌uri 2.输入auth uri作为和token_uri作为 3.保存并运行 4.在谷歌助手上运行时,它会显示一个错误,但不要担心 5.回到助手设置中的帐户链接部分,输入auth_uri作为 和token_uri作为 6.将示波器设置为和 我们可以走了。 7.保存更改

  • 在托管服务器日志中,我们可以看到访问令牌值,通过访问令牌,我们可以获得有关电子邮件地址的详细信息

  • 将访问令牌附加到此链接“”中,我们可以在生成的json页面中获得所需的详细信息
  • 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