Chrome扩展程序identity.email为空

Har*_*are 5 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;
  });
Run Code Online (Sandbox Code Playgroud)

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

用户已登录,chrome.identity.getAuthToken我有访问令牌.

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

wOx*_*xOm 12

getProfileUserInfo文档说:

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

编辑manifest.json以包含两个权限:

"permissions": ["identity", "identity.email"]
Run Code Online (Sandbox Code Playgroud)


Zac*_*ier 5

除了获得identity.email许可外,如在此主题的相关 Chrome 问题中发布的那样,用户必须在chrome://settings-> 人员 -> 同步他们的 ID 和电子邮件下打开他们的个人资料同步,以使用chrome.identity.getProfileUserInfo.

  • 您可以将 `{accountStatus: 'ANY'}` 添加为 `getProfileUserInfo` 的第一个参数,默认为 'SYNC'。 (4认同)