Я пытаюсь получить основную информацию профиля, такую как имя и адрес электронной почты пользователей Google Apps для работы, используя клиентскую библиотеку PHP. В соответствии с этот вопрос Я могу сделать это просто используя people-> get function with https://www.googleapis.com/auth/plus.login объем.
Я попробовал это, и это прекрасно работает с учетными записями @ gmail.com, но не с пользователями Google Apps for Work. Я также пытался использовать службу plus_domains, но результаты те же. Мне удалось получить адрес электронной почты, используя область действия Gmail, но мне все еще не повезло с получением имени пользователя.
Я также хотел бы отметить, что у пользователей Служб Google для работы может не быть активированной службой Google Plus администратором или они могут использовать устаревшую бесплатную версию, где служба Google plus недоступна.
У меня все работает с помощью Google Apps для образования, без использования API Google Plus, только API OAuth2.
Это области, которые я добавил:
$client->addScope(Google_Service_Oauth2::USERINFO_PROFILE);
$client->addScope(Google_Service_Oauth2::USERINFO_EMAIL);
Тогда вы можете использовать это так:
$oauthService = new Google_Service_Oauth2($client);
$userInfo = $oauthService->userinfo_v2_me->get();
echo "User info:<br>Name: ".$userInfo->name
."<br>givenName: ".$userInfo->givenName
."<br>familyName: ".$userInfo->familyName
."<br>email: ".$userInfo->email;
Других решений пока нет …