我試圖提供免費試用期我的Chrome擴展,並已按照Chrome documentation如何可以完成此免費試用的時候「的OAuth2不授予或撤銷」。試圖評估Chrome擴展
當我的分機負荷,不過,後臺腳本記錄以下錯誤控制檯:
未選中runtime.lastError在運行identity.getAuthToken:不OAuth2用戶授予或撤銷。
控制檯指向致電chrome.identity.getAuthToken
作爲罪魁禍首。下面是我的後臺腳本的相關代碼:
var CWS_LICENSE_API_URL = 'https://www.googleapis.com/chromewebstore/v1.1/userlicenses/';
chrome.identity.getAuthToken({
'interactive': false
}, function(token) {
console.log('token', token);
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);
console.log('license', license);
}
};
req.send();
});
我的清單是像這樣的設置(有些作品略去了):
"manifest_version": 2,
"key": "kkkkkkkkkkkkkkk",
"background": {
"scripts": [
"background.js"
]
},
"permissions": [
"storage",
"identity",
"https://www.googleapis.com/"
],
"oauth2": {
"client_id": "cccccccccc.apps.googleusercontent.com",
"scopes": [
"https://www.googleapis.com/auth/chromewebstore.readonly"
]
}
這裏就是我試過或證實:
- 客戶端ID匹配使用我的擴展程序ID生成的Google開發者控制檯中的值。
- Chrome網上應用店API已在Google開發人員控制檯中啓用(它是唯一啓用的API)。
- 清單中的關鍵後,我穿上了網上商店的擴展所產生的價值相匹配。
- 在啓用交互模式的情況下調用
getAuthToken
會導致相同的錯誤。 - 我將我的代碼與this example進行了比較,沒有什麼東西會跳出來,因爲它們有很大的不同(儘管額外的一雙眼睛確認不會受到傷害)。
在它很重要,我在Mac OS X上使用Chrome 42.0.2311.135(64位)的情況下
什麼原因造成的錯誤,我需要改變,使其什麼任何想法走開,所以我可以查找身份驗證令牌和許可證?
我做你正在做什麼,我想知道,我應該怎麼把作爲谷歌API控制檯參照網址。Chrome網上商店的Api密鑰Api – Kerndog73
@ Kerndog73 - 我不記得必須在Google API控制檯中輸入推薦鏈接。我啓用了Chrome網上應用店API並創建了一個客戶端ID。該客戶端ID的URL對應於我的'manifest.json'文件中的'client_id'。你可能想問一個新的問題,並提供更多的細節和截圖。鏈接到這裏,我會檢查出來。 –
不,我不會擔心。這是可選的,但強烈建議。這對我來說仍然是可選的。 – Kerndog73