如何区分免费用户和付费用户 - Chrome网上商店中的免费增值应用程序

时间:2014-11-24 20:22:49

标签: google-chrome-extension google-api chrome-web-store

这些是我迄今为止所做的行动: 我在开发人员控制台中有一个新项目: https://console.developers.google.com/project/

启用这些api: * Chrome网上应用店API

  • Google+ API
  • BigQuery API
  • Debuglet Controller API
  • Google Cloud SQL
  • Google云端存储
  • Google云端存储JSON API

我的猜测是我真的不需要所有这些。 。

在API和auth下的“凭据”中

我有“Chrome应用程序的客户端ID”。

我拿了“客户端ID”并将其种植在我的manifest.json文件中,如下所示:

"oauth2": {
        "client_id": "blablablabla.apps.googleusercontent.com",
        "scopes": [
          "https://www.googleapis.com/auth/drive"
        ]
    }

这些也是我在manifest.json中的chrome扩展权限:

"permissions": [
        "http://*/*",
        "https://*/*",
        "tabs",
        "cookies",
        "management",
        "notifications",
        "contextMenus",
        "management",
        "storage",
        "webRequest",
        "webRequestBlocking",
        "identity"
    ],

我在开发者控制台中有一个新项目: https://code.google.com/apis/console 不知道我是否需要。 。

当我尝试执行此请求时:

chrome.identity.getAuthToken({ 'interactive': true }, function(token) {
            var CWS_LICENSE_API_URL = 'https://www.googleapis.com/chromewebstore/v1.1/userlicenses/';
            var req = new XMLHttpRequest();
            req.open('GET', CWS_LICENSE_API_URL + chrome.runtime.id);
            req.setRequestHeader('Authorization', 'Bearer ' + token);
            req.onreadystatechange = function() {
              if (req.readyState == 4) {
                var license = JSON.parse(req.responseText);
                if (license.accessLevel == "FULL") {
                    // paid
                }
                else {
                    // free
                }
              }
            }
            req.send();
        });

我收到403(禁止)错误 - “权限不足”。

要明确getAuthToken请求,我会向我提供令牌。

我想要的只是区分免费用户和付费用户。方式就是那么难:(

1 个答案:

答案 0 :(得分:1)

并非此答案是及时的,但您需要包含一个额外的范围,以便您获得api结果。

该请求所需的范围是: "https://www.googleapis.com/auth/chromewebstore.readonly"

您可以在以下网址阅读有关如何授权和使用该API呼叫的更多信息: https://developer.chrome.com/webstore/webstore_api/userLicenses/getUserLicense