这些是我迄今为止所做的行动: 我在开发人员控制台中有一个新项目: https://console.developers.google.com/project/
启用这些api: * Chrome网上应用店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请求,我会向我提供令牌。
我想要的只是区分免费用户和付费用户。方式就是那么难:(
答案 0 :(得分:1)
并非此答案是及时的,但您需要包含一个额外的范围,以便您获得api结果。
该请求所需的范围是:
"https://www.googleapis.com/auth/chromewebstore.readonly"
您可以在以下网址阅读有关如何授权和使用该API呼叫的更多信息: https://developer.chrome.com/webstore/webstore_api/userLicenses/getUserLicense