Как получить адрес электронной почты, когда пользователь проходит аутентификацию в Google Oauth2 и people.me
Я новичок в PHP и API Google, япытаюсь получить адрес электронной почты, когда пользователь поет в Google+, я получаю всю информацию о пользователе, используя $ plus->человек->получить("мне") но когда я пытаюсь получить адрес электронной почты, это не удается с этой ошибкой:
Примечание PHP: неопределенный индекс: значение
вот мой код:
setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->addScope("https://www.googleapis.com/auth/userinfo.profile");
$client->addScope("https://www.googleapis.com/auth/userinfo.email");
$plus = new Google_Service_Plus($client);
if (isset($_REQUEST['logout'])) {
unset($_SESSION['access_token']);
}
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
$redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
}
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
$client->setAccessToken($_SESSION['access_token']);
$_SESSION['token'] = $client->getAccessToken();
} else {
$authUrl = $client->createAuthUrl();
}
?>
Pruebas
people->get("me");
print "<br>ID: {$me['id']}\n<br>";
print "Display Name: {$me['displayName']}\n<br>";
print "Image Url: {$me['image']['url']}\n<br>";
print "Url: {$me['url']}\n<br>";
$name3 = $me['name']['givenName'];
echo "Nombre: $name3 <br>"; //Everything works fine until I try to get the email
$correo = ($me['emails']['value']);
echo $correo;
}
?>
Я только что получил адрес электронной почты учетной записи от $ меня, чтобы сохранить его в моем приложении.
Благодарю.