查询 Google Play Developer API 时出现意外错误

Posted

技术标签:

【中文标题】查询 Google Play Developer API 时出现意外错误【英文标题】:Unexpected error when querying Google Play Developer API 【发布时间】:2021-01-25 20:35:54 【问题描述】:

由于我们希望在我们的应用中引入订阅,因此我们一直在尝试为 Play Billing 工作流程设置示例应用。我们想让 ClassyTaxi 应用程序端到端运行,以便更好地了解流程。尽管在过去 2 天里,我们只是在尝试调试问题和/或失误,因为 Google 前面的一些文档非常糟糕。

在确保正确执行每个步骤后,我们能够取得一些进展,并让应用使用 Play 管理中心中配置的正确 Sku。但是现在后端服务器(ClassyTaxiServer)抛出以下错误:

“查询Google Play Developer API时出现意外错误。请检查您是否使用了正确的服务帐号”-“OtherError: The project id used to call the Google Play Developer API has not linked in the Google Play Developer控制台。”。

我们已经多次在 Cloud Console 上重新查看、重新创建服务帐号,但都没有成功。 Play 管理中心已正确链接到 Google Cloud 项目,并且已正确授予服务帐号访问权限。

有人有什么建议吗?示例应用程序如何难以按预期设置和运行?还是我们在做一些非常愚蠢的事情?

请帮忙。

谢谢。

【问题讨论】:

【参考方案1】:

我通过了类似的情况,我遇到了同样的问题。检查后,我在google documentation 中发现了一条注释,内容如下:

注意:自 2019 年 12 月 1 日起,Google Play Developer API 仅适用于版本 3 及更高版本。如果您使用的是较低版本的 API,则必须在此日期之前迁移到版本 3。有关迁移到版本 3 的详细信息,请参阅 Google Play Developer API 的更改。

调查实现的代码后,我发现示例使用了谷歌 API 的 v2(查看 ./subscriptions/play-billing/PlayBilling.ts 第 70 行)。因此,为避免这种情况,您需要将其设置为 v3,并在 package.json 中将 googleapis 依赖更新为最新版本。

附加说明

解决这个问题后,我在“OtherError”中有一条不同的消息,这次是“当前用户没有足够的权限执行请求的操作。”。我会在这里记录我的解决方案,只是有人经历过类似的情况:

在 google play 控制台中,点击“API 访问”选项卡中的“授予访问权限”后,您需要选择用户并向用户添加一些权限(在我的情况下,我将其设置为管理员,但我认为它比需要的大),请确保也添加您正在收听的应用程序。 如果问题仍然存在,只需编辑您的任何产品或尝试创建新产品,此步骤将清除 google cash 并刷新权限。 (查看question)。

【讨论】:

以上是关于查询 Google Play Developer API 时出现意外错误的主要内容,如果未能解决你的问题,请参考以下文章

错误:用于调用 Google Play Developer API 的项目 ID 尚未在 Google Play Developer Console 中链接

"message": "用于调用 Google Play Developer API 的项目 ID 尚未在 Google Play Developer Console 中

Google Play Developer API - 超出配额

获取访问令牌Google Play Android Developer API

获取访问令牌 Google Play Android Developer API

Google Play Android Developer API - 列出权利 - “权限不足”