欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

服务器谷歌订单验证 - server account - json

程序员文章站 2022-05-20 09:27:00
...

服务器接入谷歌订单验证

上架谷歌,需要在服务器端接入谷歌的订单验证,颇费了一番功夫。

流程

经过一番尝试,最终使用server account - 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.com/androidpublisher/v3/applications/" +
 packageName + "/purchases/products/" + productId + "/tokens/" + token;
        queryUrl += "?access_token=" + accessToken;
然后把前一步拿到的access Token放到请求里面,去谷歌访问就能拿到相应的谷歌订单数据了。
参数:packageName - 包名,productId -  产品Id,token - 谷歌返回的支付成功的purchaseToken
相关标签: java