Не удается получить доступ к данным моего профиля при доступе к API Google-People

Я хочу реализовать Google Oauth2 в моем проекте. Мои основные цели — получить доступ к API Google-People для отображения информации профиля и Google Drive.

Поскольку я новичок в этом, я активировал несколько API и в большинстве случаев преуспел в получении информации. Только API людей вызывает у меня проблемы, и я не понимаю, почему. Вот что я делаю (я пропускаю всю часть входа в систему).

Определение областей:

$client->addScope("https://www.googleapis.com/auth/drive");
$client->addScope("https://www.googleapis.com/auth/youtube");
$client->addScope("https://www.googleapis.com/auth/contacts"); // this is google-people API
$client->addScope("https://www.googleapis.com/auth/plus.login");
$client->addScope("https://www.googleapis.com/auth/userinfo.email");
$client->addScope("https://www.googleapis.com/auth/gmail.readonly");

Вызов API

$dr_service = new Google_Service_Drive($client);
$yt_service = new Google_Service_YouTube($client);
$ppl_service = new Google_Service_People($client);
$plus_service = new Google_Service_Plus($client);
$gmail_service = new Google_Service_gmail($client);

Делать запросы

$dr_results = $dr_service->files->listFiles(array('pageSize' => 10)); //returns a list of files
$yt_response= $yt_service->search->listSearch('id,snippet', array('maxResults' => 25, 'q' => 'yoda', 'type' => '') );//returns videos of Yoda
$plus_results = $plus_service->people->get('me'); // returns my Google+ profile
$gmail_results = $gmail_service->users->getProfile('me'); //returns my Gmail profile
$ppl_results = $ppl_service->people->get( 'people/me', array('personFields' => 'names,emailAddresses') ); //Error

Как видите, 4 из 5 запросов работают. Только запрос People терпит неудачу и возвращает следующее сообщение:

Fatal error: Uncaught Google_Exception: (get) unknown parameter: 'personFields' in C:\xampp\htdocs\gLoginPHP\vendor\google\apiclient\src\Google\Service\Resource.php:147 Stack trace: #0 C:\xampp\htdocs\gLoginPHP\vendor\google\apiclient-services\src\Google\Service\People\Resource\People.php(52): Google_Service_Resource->call('get', Array, 'Google_Service_...') #1 C:\xampp\htdocs\gLoginPHP\gLoginPHP.php(81): Google_Service_People_Resource_People->get('people/me', Array) #2 {main} thrown in C:\xampp\htdocs\gLoginPHP\vendor\google\apiclient\src\Google\Service\Resource.php on line 147

Часть, которую я не понимаю, состоит в том, что этот запрос является точной копией / прошлым из примера, который я нашел в документации: https://developers.google.com/people/v1/read-people

Кто-нибудь понимает почему?

Большое спасибо!

1

Решение

Похоже, есть две службы Google_Service_People а также Google_Service_PeopleService, Google_Service_People кажется, имеет более старый API, тогда как Google_Service_PeopleService до даты. Я свяжусь с сопровождающими библиотек PHP, чтобы выяснить, почему есть две библиотеки.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]