0

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

<?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-сюита счета я имел перед переходом Google+ к Google+ Domains. Когда я использую этот же скрипт в новой учетной записи G Suite, это не сработает. Я пробовал с $service = new Google_Service_Plus($client);, и результат - то же самое. Любая идея, почему она не будет работать с новыми учетными записями G Suite? Есть ли у кого-то еще такая же проблема?

ответ

0

Хорошо. Я нашел основную причину моей проблемы. Бывает, что User Resource и People Resource - это два разных ресурса. У обоих из них есть атрибут «организация», но информация о ресурсе пользователя не будет отображаться в вашем профиле Google Plus и для заполнения атрибута «организация» ресурса пользователя, пользователю необходимо вручную обновить информацию из «обо мне» в Google Plus. На данный момент, похоже, нет никакого способа программно обновлять информацию о ресурсе People, но пользователи должны сделать это вручную.

Смежные вопросы