【发布时间】:2019-08-22 06:01:51
【问题描述】:
我必须通过谷歌帐户实现登录。
我想要一些建议。
我在谷歌控制台中创建了项目。添加范围用户信息.profile
我正在学习互联网上的课程说明,但我仍然无法获取用户信息(电子邮件、姓名、年龄...)。
步骤:
- 通过client_id获取urlredirect_uri中的代码
- 通过代码、client_id、client_secret ...获取令牌https://accounts.google.com/o/oauth2/token
- 尝试致电https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=accessToken 获取信息,但仅限对象
{
"azp": "155122683461-51hq2n932svo4ajbt98ic0q67m4tuj5o.apps.googleusercontent.com",
"aud": "155122683461-51hq2n932svo4ajbt98ic0q67m4tuj5o.apps.googleusercontent.com",
"sub": "108865940357700877124",
"scope": "https://www.googleapis.com/auth/userinfo.profile",
"exp": "1554094721",
"expires_in": "3326",
"access_type": "offline"
}
你们能给我举个例子吗:(
谢谢
【问题讨论】:
-
虽然我不确定这是否是你想要的结果,例如,这个端点怎么样?
GET https://www.googleapis.com/oauth2/v3/userinfo?access_token=accessToken -
对不起。从现在开始,我知道为什么 api get token (accounts.google.com/o/oauth2/token) 总是返回错误:{ "error": "invalid_grant", "error_description": "Bad Request" }
-
@VũAnhDũng invalid_grant 是一个不同的问题,我建议您打开一个新问题并添加您的代码。
-
@DaImTo 我试过
GET https://www.googleapis.com/oauth2/v3/userinfo?access_token=accessToken但回复不包含电子邮件??? -
如果您请求电子邮件范围,响应将仅包含电子邮件。正如我在回答中提到的那样。
标签: node.js oauth google-api google-oauth