我搜索过像https://developer.chrome.com/apps/app_identity这样的教程,但我看不出如何检索用Chrome登录的用户电子邮件地址。我只能获得chrome.identity api https://developer.chrome.com/apps/identity
的令牌所以获取令牌的示例代码
chrome.identity.getAuthToken({'interactive': true}, function(token) {
console.log('user token: ' + token);
});
但是从这里我如何收到电子邮件。
注意:这是针对应用程序而不是扩展名,因此context_script在我的清单中不能使用auth示例。此外,chrome.identity.getProfileUserInfo适用于测试版37,我也尝试了它但是enail是空的。
我没有选择,但我知道有办法收到电子邮件。
答案 0 :(得分:2)
简短回答:您只需在清单文件中添加电子邮件范围
答案很长:我不得不使用google plus api。 Google已弃用OpenID 2.0,现在根据https://developers.google.com/accounts/docs/OpenID2使用Google Plus登录和api。 所以我上面提到过,我没有使用xhr method =“GET,url ='ht tps://www.googleapis.com/plus/v1/people/me'来收听Google Plus的电子邮件地址。所以响应仅显示名称,性别,图像等基本内容,但没有电子邮件。要获取电子邮件,您必须在清单文件中添加电子邮件令牌,如示例中所示
"permissions": ["identity",
...,
],
"oauth2": {
// client_id below is specifc to the application key. Follow the
// documentation to obtain one for your app.
"client_id": xyz,
"scopes": ["https://www.googleapis.com/auth/plus.login",
"https://www.googleapis.com/auth/userinfo.email"] **<-this one**
}
....
现在,在您回复xp method =“GET,url ='https://www.googleapis.com/plus/v1/people/me'时,您将获得基本的用户信息以及电子邮件强>
答案 1 :(得分:0)
作为更新,这是一种获取电子邮件的简单方法:
您必须在清单文件的权限部分中同时添加“ identity”和“ identity.email”。
,使用 getProfileUserInfo 应该可以解决问题:
chrome.identity.getAuthToken({'interactive': true}, function(token) {
chrome.identity.getProfileUserInfo(
function(info){console.log(info.email)}
);
}