我目前正在研究一种仅使用HTTP请求调用来使用Google Purchase Status API的方法,而且我已经遇到了障碍。我有一个使用Google Play的应用设置,以及Google控制台帐户的所有权。
基本上,我只想检查用户在我的服务器上购买的状态。我应该使用的唯一信息是购买令牌,产品ID和产品包。
我已在developer.android.com/google/play/billing/gp-purchase-status-api.html
上按照所有相关文档进行操作我正在尝试进行的HTTPS请求调用(产品名称和实际字符串替换):
googleapis.com/androidpublisher/v1.1/applications/(com.product.myproduct)/应用程式内/(com.product.myproduct.product1)/购买/(myproductpurchasestring)?ACCESS_TOKEN =(myaccesstokenstring)
我的回答总是这样:
{
"error": {
"errors": [
{
"domain": "androidpublisher",
"reason": "developerDoesNotOwnApplication",
"message": "This developer account does not own the application."
}
],
"code": 401,
"message": "This developer account does not own the application."
}
}
通过此http请求调用轮询我的访问令牌时: googleapis.com/oauth2/v1/tokeninfo?access_token=(myaccesstokenstring)
这是我的回答:
{
"issued_to": "12345.apps.googleusercontent.com",
"audience": "12345.apps.googleusercontent.com",
"scope": "https://www.googleapis.com/auth/androidpublisher",
"expires_in": 3319,
"access_type": "offline"
}
所以根据https://developers.google.com/accounts/docs/OAuth2#webserver的文档,我需要:
授权自己并检索由Google API控制台的API访问部分中的“网络应用程序的客户端ID”生成的可刷新访问令牌。我做到了。
以两种方式之一利用此访问令牌进行Google API调用:将字符串附加到HTTP标头“授权”,或者作为HTTPS请求本身的一部分,使用属性access_token =(mytokenstring)。这部分对我不起作用,我总是收到未经授权的消息。
我想我的问题是:是否可以使用简单的HTTPS请求调用(无需外部库支持)来检索所购买商品的状态,而无需在后端服务器上进行用户交互?
我真的很感激任何帮助,大多数其他线程都是关于如何获得刷新令牌,但我已经涵盖了这一点。
答案 0 :(得分:1)
呼!