使用 Google API 的 Android InApp 购买验证失败

标签 android api in-app-purchase subscription

我对 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/替换为/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();
                }
            }

最佳答案

很多用户都遇到了同样的问题,似乎有一个错误

https://groups.google.com/forum/#!topic/google-apis-explorer-users/sJ5glcRva_s

关于使用 Google API 的 Android InApp 购买验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21082185/

相关文章:

java - 在 Android 中读取 JSON 文件并出现 API 问题

android - 如何制作 RAM 内存为 'eats' 的 Android 应用程序

ios - 从 iOS 上没有 IAP 的版本升级后,为用户帐户保留 IAP

java - 连接到 xmpp 出现套接字异常(权限被拒绝)

android - 如何提取 Lollipop 版状态栏中的通知文本?

javascript - 将一周中的几天放入列表中,然后重新开始

iphone - iPhone AppStore 和应用内购买的官方国家/地区列表?

ios - 使用 MKStoreKit 实现两种消耗品

forms - 如何使用 Drupal 表单 API 制作后退按钮?

android - ruby on rails 中用于 Android 操作系统的 API