如何使用Google登录网站获得用户的性别和出生日期

时间:2017-07-16 16:08:01

标签: javascript reactjs jsx google-login googlesigninapi

我可以接受用户的这些信息:enter image description here

但我不能接受生日和性别,我使用了本指南https://developers.google.com/identity/sign-in/web/build-button

1 个答案:

答案 0 :(得分:0)

我花了一天时间才弄明白这一点。希望能帮到其他人?。

  1. 我正在使用 react-google-login

在 GoogleLogin 中添加范围:

<GoogleLogin
clientId = 'YOUR CLIENT ID'
buttonText = 'Login'
scope = 'https://www.googleapis.com/auth/user.birthday.read https://www.googleapis.com/auth/user.gender.read https://www.googleapis.com/auth/userinfo.profile'
onSuccess = {handleSuccess}
onFailure = {handleFail}
cookiePolicy = {"single_host_origin"}
/>
  1. 在您的 JSON 数据中,您将获得 googleIdaccessTokenJSON data

  2. 然后调用 get 函数传递这两个值。 您可以使用 googleId 或使用 people/me 并添加带有令牌数据的参数 access_token

    
     axios
     .get(`https://people.googleapis.com/v1/people/${googleId}?personFields=birthdays,genders&access_token=${accessToken}`)
     .then((response) => {console.log(JSON.stringify(response, null, 4)); }) //You will get data here
     .catch((error) => {console.warn(JSON.stringify(error, null, 4));});
     

*注意:生日应该是公开的。 https://aboutme.google.com/