Chrome 扩展:如何获取用户名?
Chrome Extension: How to get user name?
我正在创建一个 Google chrome 扩展。对于某些功能,我需要用户的 系统登录名(无密码)。通过使用JavaScript,这是不可能的。
有些人建议NPAPI,但我对它一无所知,所以我放弃了。
接下来我将尝试在 Chrome 浏览器 中获取用户名。但是还是没有成功。
我尝试使用类似的东西:
var currentUser;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data) {
if (xhr.readyState == 1) {
currentUser = null;
if (xhr.status == 200)
{
var re = new RegExp(/<b class="?gb4"?>[\s]*([^<]+@[^<]+) <\/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://myaccount.google.com/?pli=1', false);
xhr.send(); `
仍然没有成功。
我的整个计划是获取用户名(桌面登录名或 Chrome 登录名),但我无法获取。
我需要将此用户名作为参数发送到我的服务,因为用户名用作主键。
首先,您说您需要此登录信息来识别用户,并将其用作主键。
自动取消系统登录名的资格:它们不是唯一的。
现在,让我们回到登录的 Chrome 用户。 Google 帐户相当独特。
这里有两种方法。
Chrome 的 chrome.identity
API can provide 电子邮件地址和帐户的唯一 ID(也许更适合您的目的)。
您将需要 "identity"
和 "identity.email"
权限。那么:
chrome.identity.getProfileUserInfo(function(userInfo) {
/* Use userInfo.email, or better (for privacy) userInfo.id
They will be empty if user is not signed in in Chrome */
});
另一种方法是在您的服务上使用 Google 的 OAuth。同样,请参阅 chrome.identity
文档。
Chrome.identity 有一个方法 getProfileUserInfo 但它只给出主要用户的详细信息。
还有一个选择:
当您打开 chrome 时,您会启动到主屏幕,您应该能够在右上角看到一个显示已登录用户图像的圆圈。您可以使用 DOM 访问它。执行此操作后,您将能够获得有关所有登录用户的信息。
我正在创建一个 Google chrome 扩展。对于某些功能,我需要用户的 系统登录名(无密码)。通过使用JavaScript,这是不可能的。
有些人建议NPAPI,但我对它一无所知,所以我放弃了。
接下来我将尝试在 Chrome 浏览器 中获取用户名。但是还是没有成功。
我尝试使用类似的东西:
var currentUser;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data) {
if (xhr.readyState == 1) {
currentUser = null;
if (xhr.status == 200)
{
var re = new RegExp(/<b class="?gb4"?>[\s]*([^<]+@[^<]+) <\/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://myaccount.google.com/?pli=1', false);
xhr.send(); `
仍然没有成功。
我的整个计划是获取用户名(桌面登录名或 Chrome 登录名),但我无法获取。
我需要将此用户名作为参数发送到我的服务,因为用户名用作主键。
首先,您说您需要此登录信息来识别用户,并将其用作主键。
自动取消系统登录名的资格:它们不是唯一的。
现在,让我们回到登录的 Chrome 用户。 Google 帐户相当独特。
这里有两种方法。
Chrome 的
chrome.identity
API can provide 电子邮件地址和帐户的唯一 ID(也许更适合您的目的)。您将需要
"identity"
和"identity.email"
权限。那么:chrome.identity.getProfileUserInfo(function(userInfo) { /* Use userInfo.email, or better (for privacy) userInfo.id They will be empty if user is not signed in in Chrome */ });
另一种方法是在您的服务上使用 Google 的 OAuth。同样,请参阅
chrome.identity
文档。
Chrome.identity 有一个方法 getProfileUserInfo 但它只给出主要用户的详细信息。
还有一个选择:
当您打开 chrome 时,您会启动到主屏幕,您应该能够在右上角看到一个显示已登录用户图像的圆圈。您可以使用 DOM 访问它。执行此操作后,您将能够获得有关所有登录用户的信息。