Aka*_*h R 6 javascript google-chrome username google-chrome-extension
我正在创建一个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(); `
Run Code Online (Sandbox Code Playgroud)
仍然没有成功.
我的整个日程是获取用户名(桌面登录名或Chrome登录名),但我无法得到它.
(从评论中添加) 我需要将此用户名作为参数发送到我的服务,因为用户名作为主键.
Xan*_*Xan 14
首先,您说您需要此登录信息来识别用户,并将其用作主键.
这会自动取消系统登录名的资格:它们不是唯一的.
现在,让我们回到登录的Chrome用户.Google帐户相当独特.
这里有两种方法.
Chrome的chrome.identityAPI既可以提供电子邮件,也可以为您的目的提供帐户的唯一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 */
});
Run Code Online (Sandbox Code Playgroud)另一种方法是在您的服务上使用Google的OAuth.再次,请参阅chrome.identity文档.
| 归档时间: |
|
| 查看次数: |
13850 次 |
| 最近记录: |