Chrome扩展程序identity.email为空

时间:2015-10-15 20:36:41

标签: javascript google-chrome google-chrome-extension

我正在尝试通过chrome identity api获取用户的电子邮件和ID。

我这样做

  chrome.identity.getProfileUserInfo(function(userinfo){
    console.log("userinfo",userinfo);
    email=userinfo.email;
    uniqueId=userinfo.id;
  });

我已指定identity权限,并在范围中添加了https://www.googleapis.com/auth/userinfo.email

用户通过chrome.identity.getAuthToken登录,我有访问令牌。

console.log("userinfo",userinfo);返回userinfo Object {email: "", id: ""}

2 个答案:

答案 0 :(得分:10)

getProfileUserInfo文档说:

  
      
  • 电子邮件:如果用户未登录或未指定identity.email清单权限,则为空。
  •   
  • id :如果用户未登录或(在M41 +中)未指定identity.email清单权限,则为空。
  •   

修改manifest.json以包含两项权限:

"permissions": ["identity", "identity.email"]

答案 1 :(得分:1)

除了拥有the related Chrome issue for this subject中发布的identity.email权限之外,用户还必须在chrome://settings->人员->同步其ID下打开其个人资料同步并使用chrome.identity.getProfileUserInfo来显示电子邮件