相关疑难解决方法(0)

从Firebase Functions调用Google Play Developer API

我想发展我的用户的应用内购买和订阅的服务器端验证的建议,我想用火力地堡功能为.基本上它必须是一个HTTP触发器函数,它接收购买令牌,调用Play Developer API来验证购买,然后对结果做一些事情.

但是,调用许多Google API(包括Play Developer API)需要进行非平凡的授权.以下是我理解所需设置的方法:

  1. 必须有一个启用了Google Play Developer API v2的GCP项目.
  2. 它应该是一个单独的项目,因为在Google Play控制台中只能有一个链接到Play商店.
  3. 我的Firebase Functions项目必须以某种方式对该其他项目进行身份验证.我认为使用服务帐户最适合此服务器到服务器方案.
  4. 最后,我的Firebase函数代码必须以某种方式获取身份验证令牌(希望是JWT?),最后进行API调用以获得订阅状态.

问题是绝对没有人类可读的文档或指导.鉴于Firebase中的入口流量包含在免费计划中(因此我假设他们鼓励使用Firebase功能中的Google API),这一事实非常令人失望.我已经设法在这里和那里找到一些信息,但是对于谷歌API的经验太少(大多数只需要使用api密钥),我需要帮助将它放在一起.

这是我到目前为止所发现的:

  1. 我有一个链接到Play商店并启用了API的GCP项目.但出于某种原因,尝试在API资源管理器中对其进行测试会导致错误"用于调用Google Play Developer API的项目ID尚未在Google Play开发者控制台中进行链接".
  2. 我创建了一个服务帐户并导出了一个JSON密钥,其中包含生成JWT的密钥.
  3. 我还在Play Console中为该服务帐户设置了读取权限.
  4. 我找到了一个用于Google API 的Node.JS客户端库,它是alpha版本并且文档非常稀疏(例如,没有关于如何使用JWT进行身份验证的明显文档,也没有关于如何调用android发布者API的示例).目前我正在努力解决这个问题.不幸的是,我对阅读JS库代码感到不太舒服,特别是当编辑器没有提供跳转到突出显示的函数源的可能性时.

我很惊讶没有被询问或记录,因为从Firebase功能验证应用内购买似乎是一项常见任务.有没有人成功完成它,或者Firebase团队可能会介入回答?

google-api firebase google-api-nodejs-client google-play-developer-api google-cloud-functions

13
推荐指数
1
解决办法
2209
查看次数