以下网址我一直用于谷歌登录我的网站。
登录URL
https://accounts.google.com/o/oauth2/auth?scope='.urlencode('https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email') . '&redirect_uri=' . urlencode(CLIENT_REDIRECT_URL) . '&response_type=code&client_id=' . CLIENT_ID . '&access_type=online
访问令牌URL
https://accounts.google.com/o/oauth2/token
UserInfo端点URL我想在2019年3月7日之后使用
https://www.googleapis.com/oauth2/v2/userinfo (returns null values)
我目前正在使用的Google+端点网址
https://www.googleapis.com/plus/v1/people/me (returns email, names, etc)
我想获取用户名和电子邮件以保存到我的数据库。如何通过上面提到的新网址获取姓名和电子邮件?
根据您链接的示例代码,您需要进行或尝试至少进行一些更改。
第一个是您可能需要请求不同的范围,因为范围决定了将返回的内容。该代码依赖于无效或不再建议的范围。您应该使用scopes获取个人资料和电子邮件:
(您使用的较长范围名称也应该有效,但您也可以尝试使用这些更简单的名称。)
所以第2步中的login_url
可能看起来更像是这样的:
$login_url = 'https://accounts.google.com/o/oauth2/v2/auth?scope=' . urlencode('openid profile email') . '&redirect_uri=' . urlencode(CLIENT_REDIRECT_URL) . '&response_type=code&client_id=' . CLIENT_ID . '&access_type=online';
虽然userinfo v2端点仍然是半维护的,但已弃用。相反,请尝试以下方法之一:
https://www.googleapis.com/oauth2/v3/userinfo
上的userinfo v3端点userinfo_endpoint
值相关联的URL。但是,仍有一些事情需要注意: