gpt4 book ai didi

php - 如何使用谷歌访问 token 获取用户电子邮件?

转载 作者:IT王子 更新时间:2023-10-29 00:03:02 24 4
gpt4 key购买 nike

我遵循了所有这些步骤。

https://developers.google.com/+/web/signin/

我有客户端 ID 和客户端密码。

我现在获得了访问 token ,我怎样才能获得用户个人资料和带有访问 token 的电子邮件?以及如何检查用户是否登录?

最佳答案

使用 OAuth2,您可以通过范围参数请求权限。 ( Documentation 。)我想你想要的范围是 https://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profile .

然后,一旦您获得了访问 token ,就可以轻松获取个人资料信息。 (我假设您已经能够将返回的授权代码兑换为访问 token ?)只需向 https://www.googleapis.com/oauth2/v1/userinfo?access_token= 发出获取请求即可。 {accessToken},返回配置文件数据的 JSON 数组,包括电子邮件:

{
"id": "00000000000000",
"email": "fred.example@gmail.com",
"verified_email": true,
"name": "Fred Example",
"given_name": "Fred",
"family_name": "Example",
"picture": "https://lh5.googleusercontent.com/-2Sv-4bBMLLA/AAAAAAAAAAI/AAAAAAAAABo/bEG4kI2mG0I/photo.jpg",
"gender": "male",
"locale": "en-US"
}

没有保证,但试试这个:

$url = "https://www.googleapis.com/oauth2/v1/userinfo";
$request = apiClient::$io->makeRequest($client->sign(new apiHttpRequest($url, 'GET')));

if ((int)$request->getResponseHttpCode() == 200) {
$response = $request->getResponseBody();
$decodedResponse = json_decode($response, true);
//process user info
} else {
$response = $request->getResponseBody();
$decodedResponse = json_decode($response, true);
if ($decodedResponse != $response && $decodedResponse != null && $decodedResponse['error']) {
$response = $decodedResponse['error'];
}
}
}

关于php - 如何使用谷歌访问 token 获取用户电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15104682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com