Я пытаюсь подключиться к Календарю Google и настроил Сервисную учетную запись с делегированием по всему домену .Затем я скачал файл json p12, поместил его на свой веб-сервер и попытался запустить следующий код.
Цель состоит в том, чтобы скрипт php возвратил список событий из Календаря Google, чтобы их можно было обработать.с.
Когда код выполняется, $ events не содержит ни одного из элементов, перечисленных в календаре, но объект json аналогичен тому, что находится ниже источника php.
Я неправильно прочитал документацию, я что-то упускаю из виду?
Спасибо за отзыв,
Nate
<? require_once 'vendor/autoload.php';
$calendar = initCalendar();
$events = $calendar->events->listEvents('primary');
// Take from : https://developers.google.com/calendar/v3/reference/events/list
while(true) {
foreach ($events->getItems() as $event) {
echo $event->getSummary();
}
$pageToken = $events->getNextPageToken();
if ($pageToken) {
$optParams = array('pageToken' => $pageToken);
$events = $service->events->listEvents('primary', $optParams);
} else {
break;
}
}
function initCalendar(){
$KEY_FILE_LOCATION = __DIR__ . '/my_downloaded_file.json';
$client = new Google_Client();
putenv('GOOGLE_APPLICATION_CREDENTIALS='.$KEY_FILE_LOCATION);
$client->setAuthConfig($KEY_FILE_LOCATION);
$client->useApplicationDefaultCredentials();
$client->setApplicationName('Calendar Sync');
$client->setIncludeGrantedScopes(true); // incremental auth
$client->setScopes([
Google_Service_Calendar::CALENDAR
, Google_Service_Calendar::CALENDAR_READONLY
]);
$client->setRedirectUri('https://' . $_SERVER['HTTP_HOST'] . '/api/events.php');
$client->setAccessType('offline'); // offline access
$calendar = new Google_Service_Calendar($client);
return $calendar;
}
?>
Возвращено JSON
object(Google_Service_Calendar_Events)#58 (19) {
["collection_key":protected]=>
string(5) "items"
["accessRole"]=>
string(5) "owner"
["defaultRemindersType":protected]=>
string(37) "Google_Service_Calendar_EventReminder"
["defaultRemindersDataType":protected]=>
string(5) "array"
["description"]=>
NULL
["etag"]=>
string(18) ""sdfsdfgsdfsf""
["itemsType":protected]=>
string(29) "Google_Service_Calendar_Event"
["itemsDataType":protected]=>
string(5) "array"
["kind"]=>
string(15) "calendar#events"
["nextPageToken"]=>
NULL
["nextSyncToken"]=>
string(28) "sdfsdfsdfsdfsdf="
["summary"]=>
string(67) "user@domain.test"
["timeZone"]=>
string(3) "UTC"
["updated"]=>
string(24) "2018-09-20T10:17:37.161Z"
["internal_gapi_mappings":protected]=>
array(0) {
}
["modelData":protected]=>
array(0) {
}
["processed":protected]=>
array(0) {
}
["defaultReminders"]=>
array(0) {
}
["items"]=>
array(0) {
}
}