我正在尝试从Google API获取birthday
,但HWIOAuthBundle
中检索到的数据不包含它。
我想知道config.yml中google plus api
的指定范围是否正确!
如果没有,请提供链接或更正的范围。
google:
type: google
client_id: %client_id%
client_secret: %secret_id%
scope: "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"
paths:
email: email
profilepicture: picture
答案 0 :(得分:17)
我刚使用Try It进行测试。我用所有不同的范围测试了它。
https://www.googleapis.com/auth/plus.login了解您的基本资料 信息和圈子中的人员列表。
https://www.googleapis.com/auth/plus.me了解您在Google上的身份 https://www.googleapis.com/auth/userinfo.email查看您的电子邮件地址 https://www.googleapis.com/auth/userinfo.profile查看基本内容 有关您帐户的信息
在所有范围内回到生日并不重要。但重要的是,用户生日必须在帐户中设置为public
。如果它设置为其他任何内容,您的圈子,只有您,它没有列出。即使您尝试查看自己的信息,这似乎也是如此。 (发送给我。)
更新,年份是2018年
People.get但我怀疑它与谷歌+相关联,所以如果用户没有填写它,你可能不会得到信息。
获取https://people.googleapis.com/v1/ {resourceName = people / *}
发送资源名称people/me
和生日personFields
{
"resourceName": "people/117200475532672775346",
"etag": "%EgQBBzcuGgwBAgMEBQYHCAkKCwwiDDQwaGhWYzc3cXJBPQ==",
"birthdays": [
{
"metadata": {
"primary": true,
"source": {
"type": "PROFILE",
"id": "117200475532672775346"
}
},
"date": {
"month": 1,
"day": 6
}
},
{
"metadata": {
"source": {
"type": "ACCOUNT",
"id": "117200475532672775346"
}
},
"date": {
"year": 1971,
"month": 1,
"day": 6
}
}
]
答案 1 :(得分:0)
通常,您只会获得具有公众知名度的生日。要获得私人生日,您需要使用https://www.googleapis.com/auth/user.birthday.read范围。请参阅文档,了解哪些范围为您提供了哪些数据https://developers.google.com/people/v1/how-tos/authorizing#profile-scopes。