Получите организации пользователей с помощью Google Plus API

Я пытаюсь получить организации от пользователя с API Google+ или API доменов Google+. Я следую инструкциям в официальной документации, и логика, которую я использую, такова:

<?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? У кого-нибудь еще есть такая же проблема?


person Morfinismo    schedule 21.01.2017    source источник


Ответы (1)


Ok. Я нашел первопричину своей проблемы. Бывает, что ресурс пользователя и Кадровый ресурс — это два разных ресурса. Оба они имеют атрибут «организация», но информация о ресурсе пользователя не будет отображаться в вашем профиле Google Plus, и для заполнения атрибута «организация» ресурса «люди» пользователь должен вручную обновить информацию из Страница «обо мне» в Google Plus. На данный момент, похоже, нет способа программно обновить информацию о людских ресурсах, и пользователям приходится делать это вручную.

person Morfinismo    schedule 27.01.2017