默认客户端范围从 App Engine (Go) 1.9 迁移到 1.11



我最近一直在将App Engine (Go(应用程序从Go 1.9迁移到1.11。 我已经按照 将 App Engine 应用从 Go 1.9 迁移到 Go 1.11 文档(可选文档除外(。 我计划在我开始工作后稍后执行可选任务。

我得到了要构建的应用程序,我可以很好地部署它。 大多数事情都运行良好,除了一个用于在Google Play IAP上查找一些信息的API。 当我这样做时,我收到以下错误:

错误 403:权限不足:请求的身份验证范围不足,权限不足

我已经检查过,我正在使用的范围是https://www.googleapis.com/auth/androidpublisher,这仍然是 Google Play 开发者 API 文档中列出的范围。

我通过从golang.org/x/oauth2/google库中调用DefaultClient来为客户端使用 App Engine 默认服务帐户,该库返回的客户端没有错误

当我使用 Go 1.9 测试相同的代码时,根本没有身份验证问题,并且 API 可以工作。 我猜这些是身份验证设置中已更改的内容,但我找不到任何文档,也找不到我应该采取的不同做法。

我不得不想象很多人不得不进行这种迁移,但我找不到任何有这个问题的帖子,所以我不知道为什么我会得到它。

我认为问题在于 Go 1.9 和 1.11 中运行时的差异。它似乎不再允许您使用应用程序默认凭据,您必须通过 1.11 中的 JSON 文件设置它们。我发现有人与您有非常相似的问题,他们通过上传密钥并使用它来获取客户端来使用解决方法。

看看这里

让我知道。

最新更新