我有一个谷歌助手(谷歌上的行动)应用程序,我想让用户登录。我在DialogFlow上使用了actions-on-google,它反过来又有一个webhook。
对于需要登录的特定操作,在webhook中,我启动app.askForSignIn();
我有一个叫做actions.intent.SIGN_IN的意图,它有一个叫做actions_intent_SIGN_IN的事件。在这个操作中,我检查了app.getSignInStatus(),得到的结果是null。
我是不是遗漏了什么?Google Assistant / Actions会从oauth中提取、链接令牌和作用域,并将其与用户关联吗?
发布于 2017-12-21 21:37:25
我能够让它在我的应用程序上工作,但我没有调用app.askForSignIn(),相反,我检查了与谷歌助手集成的DialogFlow上的“需要登录”选项,然后我在谷歌控制台上的操作应用程序概述的“帐户链接”部分提供了有关客户端ID和秘密的所有信息以及授权和令牌URL。
我基本上关注了this guide。
PS:要让它在控制台上工作,你必须从智能手机登录,或者直接在浏览器窗口中调用auth URL。
发布于 2017-12-14 18:14:36
嗨,rochan,我刚才也遇到了同样的问题,请看我的帖子,这对我来说仍然是一个悬而未决的问题。Google Actions SDK Sign-In implicit flow
但它对我来说并没有太多的优先权。你可以尝试使用支持谷歌助手的智能手机进行测试,而不是在模拟器中进行测试。也许它能行得通。
发布于 2018-04-05 15:43:38
您必须在dialogflow中的Google assistant集成设置中启用必需登录选项

启用此功能后,请使用actions-on-google概述中的帐户链接选项,并执行以下步骤
我们必须首先启用webhook,我们可以在对话流实现文档中看到如何启用webhook。
在谷歌云控制台下打开您的项目1.转到谷歌云控制台-> APIsand服务-> Credentials -> OAuth 2.0客户端id -> Web client ->注意客户端id,客户端密码从那里->下载json -从JSON记下项目ID,auth_uri,token_uri ->授权重定向URL ->白名单我们的应用程序的URL ->此URL固定部分为https://oauth-redirect.googleusercontent.com/r/,并在URL中追加项目id ->保存更改
谷歌->帐户链接设置上的
此外,要获得用户名和电子邮件地址,您可以使用下面的代码片段
accessToken = req.get("originalRequest").get("data").get("user").get("accessToken")
r = requests.get(link) print("Email Id= " + r.json()["email"]) print("Name= " + r.json()["name"])
https://stackoverflow.com/questions/47810113
复制相似问题