DefaultClient范围从App Engine(Go)1.9迁移到1.11

时间:2019-09-18 08:58:56

标签: google-app-engine go google-play-developer-api

我最近一直在将App Engine(Go)应用程序从Go 1.9迁移到1.11。我已经按照 Migrating your App Engine app from Go 1.9 to Go 1.11文档,不包括可选的文档。我计划在工作后再执行可选任务。

我可以构建应用程序,并且可以很好地部署它。除了用于在Google Play IAP上查找某些信息的一个API之外,大多数其他工具都可以正常工作。当我这样做时,出现以下错误:

  

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

我已经检查过,并且我使用的范围是https://www.googleapis.com/auth/androidpublisher,仍然是Google Play Developer API documentation中列出的范围。

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

当我使用Go 1.9测试相同的代码时,根本没有身份验证问题,并且该API可以正常工作。我猜想这是身份验证设置中发生了一些变化,但是我找不到关于它的文档,也找不到应该做些什么的事情。

我必须想象很多人都必须进行此迁移,而我找不到任何与此问题相关的帖子,所以我迷失了为什么得到它。

1 个答案:

答案 0 :(得分:1)

我认为问题在于Go 1.9和1.11中的运行时不同。它似乎不再允许您使用“应用程序默认凭据”,您必须通过1.11中的JSON文件进行设置。我发现有人与您有一个非常相似的问题,他们使用了一种变通办法,即上载密钥并使用该密钥来获得客户。

看看here

让我知道。