Я пытаюсь получить организации от пользователя с помощью Google+ API или Google+ Domains API. Я следую инструкциям официальной документации, и я использую следующую логику:
<?php session_start();
require_once 'vendor/autoload.php'; //INCLUDE PHP CLIENT LIBRARY
$scopes = array(
"https://www.googleapis.com/auth/plus.profiles.read",
"https://www.googleapis.com/auth/plus.me");
// Create client object and set its configuraitons
$client = new Google_Client();
$client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/');
$client->setAuthConfig("creds.json");
$client->addScope($scopes);
if( isset($_SESSION["access_token"]) ) {
$client->setAccessToken($_SESSION["access_token"]);
$service = new Google_Service_PlusDomains($client);
$me = $service->people->get('me');
var_dump($me);
echo "<br><br>*********************************************<br><br>";
$orgs = $me->getOrganizations(); // (THIS IS EMPTY!!!) ????
var_dump($orgs);
} else {
if( !isset($_GET["code"]) ){
$authUrl = $client->createAuthUrl();
header('Location: ' . filter_var($authUrl, FILTER_SANITIZE_URL));
} else {
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
}
?>
Это прекрасно работает для учетной записи G-Suite, которую я имел до перехода Google+ в Домены Google+. Когда я использую этот же скрипт в новой учетной записи G Suite, он не будет работать. Я пробовал с $service = new Google_Service_Plus($client);
и результат один и тот же. Есть идеи, почему он не будет работать с новыми учетными записями G Suite? У кого-нибудь еще есть такая же проблема?
Хорошо. Я нашел основную причину моей проблемы. Бывает, что Пользовательский ресурс и Люди Ресурс два разных ресурса. Оба они имеют атрибут «организация», но информация о ресурсе пользователя не будет отображаться в вашем профиле Google Plus, и для заполнения атрибута «организация» ресурса «человек» пользователь должен вручную обновить информацию из страница «обо мне» в Google Plus. На данный момент, похоже, нет способа программно обновить информацию о People Resource, но пользователи должны делать это вручную.
Других решений пока нет …