我想通过我的中央游戏服务器上的 Google API 验证 Android IAP。
有很多关于此的部分信息,这让我大吃一惊。
我还没有支付 25 欧元成为 Google 开发者,因为我不确定我是否能够让它发挥作用。
进行 IAP 时,会返回一个 JSON 对象。该对象包含多个字段,例如purchaseToken
和productId
(source https://developer.android.com/google/play/billing/billing_reference.html).
我发现您可以通过以下 GET 请求来请求有关已购买产品的信息:GET https://www.googleapis.com/androidpublisher/v2/applications/packageName/purchases/products/productId/tokens/token
.
我可以编程,没问题,但你需要自己授权:“此请求需要以下范围的授权” (source https://developers.google.com/android-publisher/api-ref/purchases/products/get)。
这就是我开始感到困惑的地方。
- 您需要通过开发控制台创建某种登录令牌(Link https://console.developers.google.com)。我不知道什么类型。OAuth 还是服务帐户?
- 这个令牌的寿命很短。你需要刷新一下
在互联网上可以找到几个巨大的代码片段,它们可能有效也可能无效,但它们都是部分的并且没有很好的文档记录。
我找到了 Google 的 Java API 库:link https://developers.google.com/api-client-library/java/。这个 API 似乎是为了为您解决 OAuth 和令牌的所有这些问题而设计的。但是,我无法弄清楚如何让这个 API 工作。
这可能并不难,但是有很多不同的方法可以做到这一点,而且我找不到任何明确的例子。
TL;DR:我需要验证 Google Play IAP 服务器端。为此,我想使用 Google Java API。
编辑:这可能是一个更简单的解决方案。将原始 JSON 加上 JSON 传递到服务器可能会更容易,因为我可以验证非对称签名服务器端。