是否有一種簡單的方法可以從Chrome擴展程序中檢測到用戶已登錄到他的Google帳戶中。檢測用戶是否從Chrome擴展程序登錄
我想通過加載一個需要驗證的html/css/js資源來解決這個問題有一種討厭的方法。 但我想以「清晰」的方式做到這一點。
THX和最好的, 尤
是否有一種簡單的方法可以從Chrome擴展程序中檢測到用戶已登錄到他的Google帳戶中。檢測用戶是否從Chrome擴展程序登錄
我想通過加載一個需要驗證的html/css/js資源來解決這個問題有一種討厭的方法。 但我想以「清晰」的方式做到這一點。
THX和最好的, 尤
一直存在鉻的擴展內郵件列表上的一些討論: http://groups.google.com/a/chromium.org/group/chromium-extensions/browse_thread/thread/6e46a3a6e46d9110/
基本上,用戶建議,發送XML HTTP請求發送到谷歌.com和通過正則表達式搜索,如果當前用戶已登錄:
來源:紀堯姆佈德羅(上鉻的擴展郵件列表)
var currentUser;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data) {
if (xhr.readyState == 4) {
currentUser = null;
if (xhr.status == 200) {
var re = new RegExp(/<b class="?gb4"?>[\s]*([^<][email protected][^<]+)<\/b>/i);
var m = re.exec(xhr.responseText);
if (m && m.length == 2) {
currentUser = m[1];
}
}
console.log("Currently logged user (on google.com): " +
currentUser);
}
};
xhr.open('GET', 'https://www.google.com/', false);
xhr.send();
chrome.identity.getAuthToken({interactive: false}, function (token) {
if (!token) {
if (chrome.runtime.lastError.message.match(/not signed in/)) {
console.log("not singed in");
} else {
console.log("singed in");
}
}
});
並且不要忘記將"identity"
添加到權限。
你能否簡單介紹一下如何在Chrome擴展中使用這段代碼? – 2016-05-07 06:56:34
就像@KeyurPatel一樣,我也希望能解釋一下這段代碼在做什麼。 – user5508297 2016-08-17 05:30:58