我需要从 Google+ 获取电子邮件、ID、名字和姓氏,以便为用户创建帐户。为了做到这一点,我见过的所有例子都说要这样做:
// Get the email
gapi.client.load('oauth2', 'v2', function()
{
gapi.client.oauth2.userinfo.get().execute(function(resp) {
console.log(resp.email);
})
});
// Get the id, first name, and last name
gapi.client.load('plus', 'v1', function()
{
gapi.client.plus.people.get( {'userId' : 'me'} ).execute(function(resp) {
console.log(resp.id);
console.log(resp.name.givenName);
console.log(resp.name.familyName);
})
});
但是,这有一个问题,因为我希望能够将 resp.email、resp.id、resp.name.givenName、resp.name.familyName 存储在变量中,以便在这两个调用之后我可以使用该信息创建一个用户帐户。由于 execute() 是一个异步调用,我无法做到这一点(至少据我所知)。我认为最简单的解决方案是查看是否有某种方法可以一次获取我想要的所有内容(电子邮件、身份证、姓氏、名字),以便我可以在 execute() 函数中创建用户。我可以这样做吗?