问题标签 [google-home]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
actions-on-google - 从 Google Home Simulator 链接 OAuth2 帐户时的 redirect_uri_mismatch
我正在为与 API.AI 的“Actions on Google”集成开发帐户链接集成,以便与 Google Home 一起使用。当我在模拟器中测试这个代理时(https://developers.google.com/actions/tools/web-simulator)
正如所料,这是我的回应:
但是,当我遵循
链接,我得到标准的redirect_uri_mismatch错误页面,详细信息:
请求中的重定向 URI https://oauth-redirect.googleusercontent.com/r/my-project-id与授权给OAuth客户端的重定向 URI 不匹配。访问 https://console.developers.google.com/apis/credentials/oauthclient/my-client-id ?project= my- client -id 以更新授权的重定向 URI。
当然不可能将googleusercontent域添加到重定向中,这不是我在 API.AI Actions on Google 集成中指定的重定向。
在 API.AI 方面,我的 Auth Url 是标准的 Google 网址:
https://accounts.google.com/o/oauth2/v2/auth
我的令牌 URL 是:
https://myendpoint.com/google-home-token-endpoint
范围填写为calendar
在谷歌开发者控制台上,我将令牌 URL 设置为与 API.AI 中的相同,项目 ID/客户端 ID 与请求中的引用相同。
这是一个已知的问题?我可以尝试其他调试工作吗?
actions-on-google - 如何关闭麦克风以进行对话操作?
Google 刚刚拒绝了我使用 API AI 构建的应用程序。以下是 Google 团队的反馈:
请在应用程序提供其功能后关闭麦克风,或提示用户再次询问或取消。
有谁知道如何提示用户/再次询问/取消?
谢谢
actions-on-google - 如何让 Actions on Google 使用 Google Home 的正常语音说话?
我正在使用 API.AI 使用 Actions on Google 构建一个应用程序,该应用程序允许用户通过 Google Home 与我的应用程序对话。API.AI 允许我在两个男声和两个女声之间进行选择,但是,这四个声音都不是正常的 Google Home 声音。
有什么方法可以让 Google Home 保持正常的声音,而不是这四个机器人替代品?奇怪的是,Google Home 突然变声了。
actions-on-google - 如何回复 Google Assistant 上的“帮助”?
我从 Google 团队得到以下反馈:
当用户对您的代理说“帮助”时,它实际上并没有为用户可以说什么或要求什么提供任何指导,它只是说“当然,助手是来帮忙的”
我的 webhook 是在 Spring Boot 中实现的。知道我的网络服务如何响应帮助请求吗?
webhooks - 使用 Google Home 与网络服务器通信
我有一个用 php 开发的社交网站,它托管在服务器上。在这里,人们可以通过消息相互交谈。
我想通过 google home 向其他用户发送和接收消息。它不像聊天机器人。但是在这里,第一个用户将从 google home 发送消息到网站,然后第二个用户将从网站发送消息给第一个将通过 google home 接收的用户。
这可以实现吗?我是否必须开发某种移动应用程序,以便用户必须将消息发送到移动应用程序,然后应用程序将数据发送到服务器。
还是我必须使用 api.ai 中提供的 webhook?
任何帮助将不胜感激。
google-cloud-platform - 没有 Google Cloud 的 Google Home 开发
有没有一种无需使用 Google Cloud 或向公共互联网开放 API 即可为 Google Home 进行开发的方法?
我在一个受限制的环境中,不能不跳过很多圈就向世界开放服务器。如果我能在内部完成这一切,就可以省去很多麻烦。
actions-on-google - 我可以从 Actions On Google 获取请求者的当地时间(或偏移量)吗?
我正在使用 API.ai 在 Google API 上的操作上进行构建。为了完成我的一项操作,我需要知道用户的位置和当地时间。
我已经能够成功地请求并接收回用户的位置。
但是,我看不到任何获取用户本地时间或时区偏移的方法。有没有办法做到这一点?
(我意识到我可以使用该位置来找出偏移量,但这需要另一个 API 调用或使用另一个库,我宁愿避免这样做。)
提前致谢。
- 更新 -
根据下面 Leon 的回答,截至 2017 年 1 月 18 日,API 目前不提供此信息。为了获得所需的信息,我请求了用户精确位置的许可,该位置返回 lat 和 lng。然后我使用GeoNames 时区 API 来获取时区偏移量。
javascript - 如何在 Heroku 上部署 Actions-On-Google?
我正在尝试使用我的 Google Home,并且阅读了很多关于 google 上的操作的信息,并且能够将其部署到 Google Cloud Services,但是如果它在 Heroku 上,Google Home 如何知道我的应用程序在哪里?
它与creds.data
和有关Actions-On-Google-nodejs SDK
吗?
firebase-authentication - 使用带有 Google Home 的 firebaseui-web 出现“无法解析上下文”错误
我正在尝试为我的 Google Home 操作设置帐户链接。为了在用户登录进行链接时对用户进行身份验证,我将 Firebase Auth 和FirebaseUI-web与 Google 登录提供程序一起使用。页面和代码流在使用 Google OAUth2 Playground 和我使用 Google Home emulator 测试帐户链接时进行验证,这两者我都使用桌面 Chrome 进行了测试。但是当我使用Google Home 设备和应用程序进行测试时,它会启动流程并显示登录按钮,让我选择一个帐户,重定向回我的页面,然后生成错误:
当我将 Chrome 调试控制台连接到它时,控制台中出现以下错误:
如果我查看网络日志,最后一个 xhr POST 返回 400 错误。(一些信息被编辑了,因为我不知道正在发送的数据的敏感性。)
要求:
请求标头:
身体:
HTTP 响应代码为 400,正文为:
有什么办法可以让它正常工作吗?是什么导致了问题?
更新以更好地解释用户流程
重要的是要了解 FirebaseUI 正在用于对登录到我的OAuth2 服务的用户进行身份验证。不获取 OAuth 信息直接提供给 Home。
所以流程是:
- 用户使用诸如“Hey Google,通过语音通话支付账单”之类的触发器在 Home 上启动操作
- 由于用户尚未将其 Home 连接到“语音支付”服务,Home 会提示用户前往 Google Home 应用并关联两个帐户。
- 那张卡是这样出现的。
- 用户点击卡片,Chrome 自定义选项卡会打开我的登录页面,让他们登录我的服务。这个页面是用 FirebaseUI 实现的,并且有一个按钮让他们使用他们的 Google 帐户登录我的服务。
- 如有必要,他们会选择一个帐户,登录,然后被重定向回页面以继续。正是在这一点上出现了错误。
- 但是,如果它正常工作,该页面将向我的后端服务发送登录信息。这将结束 FirebaseUI 的参与。此时,后端服务将联系 Firebase 身份验证服务以获取帐户信息,为该帐户生成授权代码,并让页面继续 OAuth2 流程并将我的服务中的授权代码提供给 Google。
请注意,虽然 (4) 发生在 Chrome 自定义选项卡中,但我也告诉它在 Chrome 本身中打开(通过选项卡中的菜单项),并且它继续显示相同的问题。
我不清楚步骤(5)中到底发生了什么。有一些对身份工具包服务的调用在指示调用失败之前似乎可以正常工作。