admin管理员组文章数量:1647978
服务器接入谷歌订单验证
上架谷歌,需要在服务器端接入谷歌的订单验证,颇费了一番功夫。
流程
经过一番尝试,最终使用service account - json文件方式接入。关于如何生成对应的json文件,网上有相应的教程。
注意:要使用关联项目的主账号生成json文件(如果是次要账号生成的json文件则没有相应的权限)。
代码步骤
GoogleCredential credential =GoogleCredential
.fromStream(new FileInputStream(FireBaseConstants.LOCAL_FOLDER+"google-Japan.json")).createScoped(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER));
credential.refreshToken();
accessToken= credential.getAccessToken();
关于Collections.singleton方法里的参数,
官方给的API里有写的是SQLAdminScopes.SQLSERVICE_ADMIN,
但是出现了403:Request had insufficient authentication scopes.的错误,
换成AndroidPublisherScopes.ANDROIDPUBLISHER就好了,
如果AndroidPublisherScopes.ANDROIDPUBLISHER不行的话,换回去试试。
注意:一定要调用refreshToken方法,不然啥也拿不到。
String queryUrl = "https://www.googleapis/androidpublisher/v3/applications/" +
packageName + "/purchases/products/" + productId + "/tokens/" + token;
queryUrl += "?access_token=" + accessToken;
然后把前一步拿到的access Token放到请求里面,去谷歌访问就能拿到相应的谷歌订单数据了。
参数:packageName - 包名,productId - 产品Id,token - 谷歌返回的支付成功的purchaseToken
版权声明:本文标题:服务器谷歌订单验证 - service account - json 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729496374a1202953.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论