Я использую клиент Google Api PHP для входа пользователя. Я хочу получить адрес электронной почты пользователей. У меня есть следующий код.
Объем:
$client->setScopes('https://www.googleapis.com/auth/userinfo.profile');
Код:
$request = new apiHttpRequest("https://www.googleapis.com/oauth2/v2/userinfo?alt=json"); $userinfo = $client->getIo()->authenticatedRequest($request); $response = $userinfo->getResponseBody(); print "<pre>" . print_r(json_decode($response, true), true) . "</pre>";
Это дает мне только следующие данные
Array ( [id] => 110084312800396764 [name] => Harsha MV [given_name] => Harsha M [family_name] => V [picture] => http://img.ruphp.com/php/photo.jpg [locale] => en )
Установка области в массиве выполняет задание.
$this->client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile'));
https://www.google.com/accounts/AuthSubRequest?next=http://www.example.com/index.php&scope=https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/analytics.readonly&secure=0&session=1 or https://www.google.com/accounts/AuthSubRequest?next=http://www.example.com/index.php&scope=email+https://www.googleapis.com/auth/analytics.readonly&secure=0&session=1
обе вышеперечисленные ссылки работают для меня в php