3

我正在为与 API.AI 的“Actions on Google”集成开发帐户链接集成,以便与 Google Home 一起使用。当我在模拟器中测试这个代理时(https://developers.google.com/actions/tools/web-simulator

正如所料,这是我的回应:

{
    "response": "It looks like your conference manager account is not linked yet. You can link conference manager to your Google Account from the Google Home app.",
    "audioResponse": "//NExAARC..."content_copy,
    "debugInfo": {
        "sharedDebugInfo": [
            {
                "name": "Account Linking Url",
                "debugInfo": "https://assistant.google.com/services/auth/handoffs/auth/start?provider={project-id}_dev&return_url=https://www.google.com/"
            }
        ]
    }
}

但是,当我遵循

res.debugInfo.sharedDebugInfo[0].debugInfo

链接,我得到标准的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 与请求中的引用相同。

这是一个已知的问题?我可以尝试其他调试工作吗?

4

2 回答 2

1

我也很困惑为什么您不能通过 Google 登录来为 Google 上的 Actions 进行帐户链接。

但是,我使用 Login With Amazon 完成了这项工作,方法如下:

  1. 在 api.ai 中,选择集成 -> google 上的操作。
  2. 选择一个调用名称在谷歌开发者控制台中创建一个项目
  3. 输入对应的google项目ID
  4. 选择您的欢迎意图
  5. 在使用亚马逊登录下转到亚马逊开发者控制台
  6. 在允许的来源下,输入https://accounts.google.com/
  7. 在允许的返回 URL 下,输入https://oauth-redirect.googleusercontent.com/r/my-project-id(上面有您的 google 项目 ID)
  8. 返回到 Actions on Google 弹出窗口,输入在 Amazon 开发人员控制台中创建的客户端 ID 和客户端密码。
  9. 设置授权类型 = 隐式
  10. 设置授权 URL = https://www.amazon.com/ap/oa

  11. 设置范围=配置文件

  12. 授权和预览,然后按照问题中的说明继续,将 res.debugInfo.sharedDebugInfo[0].debugInfo 的链接粘贴到浏览器会话中。它将成功链接到关联的亚马逊帐户。

问题是 - 为什么在设置与 Google 上的 Actions 的帐户链接时,我可以使用 Amazon 作为 OAuth2 的身份提供者,使用 Web 身份联合而不是 Google?

于 2017-03-02T08:01:59.183 回答
0

请参阅 Leon 对我原来的问题的评论。

当前无法使用您不拥有的 API 的操作进行帐户链接。

于 2017-01-06T17:02:27.740 回答