Chrome扩展程序:获取用户名

阿卡什河

我正在创建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帐户相当独特。

这里有两种方法。

  1. 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 */
    });
    
  2. 另一种方法是在您的服务上使用Google的OAuth。同样,请参阅chrome.identity文档。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章