Chrome应用,登录用户的电子邮件地址

时间:2014-08-14 06:00:42

标签: javascript google-chrome google-chrome-app

我搜索过像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是空的。

我没有选择,但我知道有办法收到电子邮件。

2 个答案:

答案 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)

作为更新,这是一种获取电子邮件的简单方法:

  1. 您必须在清单文件的权限部分中同时添加“ identity”和“ identity.email”。

  2. ,使用 getProfileUserInfo 应该可以解决问题:

    chrome.identity.getAuthToken({'interactive': true}, function(token) {
       chrome.identity.getProfileUserInfo(
           function(info){console.log(info.email)}
       );
    }