查询Google Play开发者API时发生意外错误

问题描述

我们正试图为带有订阅的Play Billing工作流程设置示例应用,因为我们希望在我们的应用中引入订阅。我们希望让ClassyTaxi应用程序端到端运行,以便更好地了解流程。尽管在过去的2天里,由于Google前端的文档确实很差,我们只是在尝试调试问题和/或失误。

确保正确地执行了每个步骤之后,我们可以取得一些进展,并使该应用程序使用Play控制台中配置的正确的Skus。但是现在后端服务器(ClassyTaxiServer)抛出以下错误

查询Google Play开发者API时出现意外错误。请检查您是否使用了正确的服务帐户”-“其他错误:用于调用Google Play开发者API的项目ID在Google Play开发者中尚未链接控制台。”。

我们已经进行了多次研究,在Cloud Console上重新创建了服务帐户,但是没有运气。 Play控制台已正确链接到Google Cloud项目,并且已将访问权限正确授予服务帐户。

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

请帮助。

谢谢。

解决方法

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

注意:从2019年12月1日开始,Google Play开发者API仅适用于版本3和更高版本。如果您使用的是较低版本的API,则必须在此日期之前迁移到版本3。有关迁移到版本3的更多信息,请参阅对Google Play开发者API的更改。

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

附加说明

解决此问题后,我在'OtherError'中有不同的消息,这次是“当前用户没有足够的权限来执行请求的操作。”。我将在这里指出我的解决方案,只是有人遇到类似情况:

  • 在Google Play控制台中,在“ API访问”标签中单击“授予访问权限”后,您需要选择用户并向该用户添加一些权限(在我的情况下,我将其设置为admin,但我认为(大于所需的大小),请确保还添加您正在收听的一个或多个应用。
  • 如果问题仍然存在,请编辑您的任何产品或尝试创建新产品,此步骤将清除Google现金和刷新权限。 (选中此question)。