无法 link 连接到合作伙伴

Can't link to partner connection

我在按照以下位置列出的步骤授权帐户后遇到问题: https://developers.google.com/nest/device-access/get-started

步骤是:

  1. 注册设备访问程序 >> 使用私人帐户支付
  2. 使用 Google 帐户激活支持的 Nest 设备。 >> 使用我的私人 Google 帐户登录 Google 家庭或 Nest 时,我可以看到我的 Nest 设备。
  3. 创建一个 Google 云平台 (GCP) 项目以启用 SDM API 并获取 OAuth 2.0 客户端 ID。 >> 使用“启用 API 并获取 OAuth 2.0 客户端 ID”按钮并在出现提示时插入重定向 URL。在 GCP 控制台中验证一切正常。
  4. 创建设备访问项目以接收项目 ID。 >> 设置时使用了第 3 步中的 OAuth 客户端 ID

使用此 URL 尝试获取授权码:

https://nestservices.google.com/partnerconnections/project-id/auth?
redirect_uri=https://www.google.com&
access_type=offline&
prompt=consent&
client_id=oauth2-client-id&
response_type=code&
scope=https://www.googleapis.com/auth/sdm.service

是的,我用设备访问控制台中的项目 ID 和步骤 3 中的 OAuth 客户端 ID 替换了项目 ID。我 select 步骤 1 和步骤 2 中的 Google 帐户。

我仍然在浏览器中收到错误消息:

Can't link to [project name]

我从未收到允许项目访问我的 Google 帐户的提示(步骤 3-5 here)。

感谢您的帮助。

当您在 Google 页面上使用内置复制功能时,它会复制此代码:

https://nestservices.google.com/partnerconnections/project-id/auth?
redirect_uri=https://www.google.com&
access_type=offline&
prompt=consent&
client_id=oauth2-client-id&
response_type=code&
scope=https://www.googleapis.com/auth/sdm.service

但是当你进入浏览器时,每个 & 后面都有空格。所以需要手动删除空格才能真正使用正确的URL.

这里的操作顺序似乎很重要。我 运行 遇到了与您相同的错误,但这是在创建设备访问项目之后,然后再在 GCP 中创建 API 凭据。

从设备访问控制台删除我的项目并re-creating它后,它工作正常。我在这两种情况下都使用了相同的 API 凭据。

我 运行 解决了这个问题,我想通了。问题的症结在于https://console.nest.google.com/device-access/project/$PROJECT_ID/information中的OAuth client ID一定是名字。请注意,在您创建项目后它通常为空。这是因为您在 之后创建了 OAuth 客户端,步骤中的项目是 Getting Started.

此外,在 OAuth 客户端的重定向 URI 中,设置时将 https://www.google.com 列入白名单。您可以稍后删除它。