谷歌api与javascript。得到生日和性别

谷歌api与javascript。得到生日和性别,javascript,google-api,Javascript,Google Api,我想一定很简单,但找不到一个例子。 我使用的是基本的谷歌登录示例。带有标题标记(包括生日范围): 所有这些都可以正常工作,要求用户授予权限。我得到了一般的个人资料。但是我不知道如何获取生日,它是否在返回的对象中?我是否需要另一个api调用? 我看过很多关于使用范围的例子,但是找不到如何实际读取数据(生日)。。。性别也是一样,不要认为这有特殊的范围,我想这应该是基本资料信息的一部分(?) 提前谢谢 编辑:只是澄清一下,我知道我使用了正确的范围。我不知道如何读取数据。例如,在用户身份验证后-prof

我想一定很简单,但找不到一个例子。
我使用的是基本的谷歌登录示例。带有标题标记(包括生日范围):

所有这些都可以正常工作,要求用户授予权限。我得到了一般的个人资料。但是我不知道如何获取生日,它是否在返回的对象中?我是否需要另一个api调用?
我看过很多关于使用范围的例子,但是找不到如何实际读取数据(生日)。。。性别也是一样,不要认为这有特殊的范围,我想这应该是基本资料信息的一部分(?)
提前谢谢

编辑:只是澄清一下,我知道我使用了正确的范围。我不知道如何读取数据。例如,在用户身份验证后-profile.getEmail()将返回电子邮件。什么会返回生日?

获取用户的基本档案信息

返回一个gapi.auth2.BasicProfile对象。你可以取回这个 使用以下方法创建对象的属性:
BasicProfile.getId() BasicProfile.getName()
BasicProfile.getImageUrl()
BasicProfile.getEmail()


此方法不返回生日。我所知道的恢复生日的唯一方法是使用google+api。

JSON中并不总是提供生日信息。只有共享其出生日期的用户才具有“生日”属性。您的问题不涉及范围,但答案是相同的。谢谢。你能详细说明一下吗。假设它是公共的,我会在profile.getbirth()中找到它吗?或者我需要进行另一个调用吗?我需要使用另一个库初始化另一个/不同的gapi对象吗?我有一个“live”gapi对象,我猜它是由包含的脚本创建的,但是如果我尝试
gapi.client.load('plus','v1',function(){…})
i get js error“无法读取未定义的属性'load'”是的,您将需要一个不同的服务google+api服务我不是javaScript专家发现您,尽管这是正式的示例项目。在api管理器中添加google+api并向添加ref后,我现在可以调用
gapi.client.load('plus',v1',function(){…});但是我仍然没有收到回复中的生日,尽管我确保它是公开的(在我自己的帐户上测试)。同样奇怪的是,我现在同时使用client.js和platform.js,我猜有两个“活动”gapi对象。不要认为这是预期的实现…让它工作起来。我的公共设置不正确。仍然不清楚这两个登录选项和两个脚本引用,Google+登录是否应该取代Google登录
<meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/user.birthday.read" />
<meta name="google-signin-client_id" content="xxx my id xxx" />
<script src="https://apis.google.com/js/platform.js" async defer></script>
<div id="gsignin" class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div>
  function onSignIn(googleUser) {
        var profile = googleUser.getBasicProfile();
        console.log(googleUser);
        console.log("ID: " + profile.getId());
        console.log("Name: " + profile.getName());
        console.log("Image URL: " + profile.getImageUrl());
        console.log("Email: " + profile.getEmail());
        g_token = googleUser.getAuthResponse().id_token;
  }