我对Google Play Android Developer API有疑问。 我需要验证购买托管产品和订阅类型购买,并在验证时授予对服务器上内容的访问权限。
我使用Oauth生成一个access_token来授权API调用。 我使用androidpublisher.purchases.get来验证订阅类型购买,这可以按预期工作。
然而,我使用androidpublisher.inapppurchases.get验证购买我返回了一个无用的错误
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Invalid Value"
}
],
"code": 400,
"message": "Invalid Value"
}
}
两个API调用都使用收据中的相同值 - packageName,productID,purchaseToken并使用相同的access_token。
我很难过 - 任何帮助都会受到赞赏。
编辑1。 这是inapp代码。 与工作订阅验证的唯一区别是替换/ inapp / with / subscriptions /
string restAPI = "https://www.googleapis.com/androidpublisher/v1.1/applications/{0}/inapp/{1}/purchases/{2}";
string url = String.Format(restAPI, APP_PACKAGE, SUBSCRIPTION_ID, PURCHASE_TOKEN);
string postcontents = string.Format("access_token={0}", HttpUtility.UrlEncode(AUTH_TOKEN));
string responseFromServer = "";
url += "?" + postcontents;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "GET";
request.UserAgent = "RVGP";
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(responseStream))
{
responseFromServer = reader.ReadToEnd();
reader.Close();
responseStream.Close();
response.Close();
}
}
答案 0 :(得分:1)
很多用户遇到了同样的问题,似乎有一个错误
https://groups.google.com/forum/#!topic/google-apis-explorer-users/sJ5glcRva_s