Что вам нужно помнить, так это то, что учетная запись службы - это не вы.Сервисная учетная запись является фиктивным пользователем.У этого пользователя есть собственная учетная запись в календаре Google, учетная запись на диске и, возможно, еще несколько.
Если вы наберете
$calendar = $service->calendars->get('primary');
echo $calendar->getSummary();
, вы увидите, что на самом деле ваша учетная запись службы имеет календарь.По умолчанию в списке календарей ничего нет.
Если вы хотите, чтобы у него был доступ к вашему личному календарю Google, вам нужно перейти на веб-сайт календаря Google и поделиться им с учетными записями служб.адрес электронной почты.тогда он должен быть в состоянии сделать следующее, убедитесь, что вы записали идентификатор календаря для календаря, которым вы поделились с ним, пока вы находитесь в настройках.
$calendar = $service->calendars->get('calendarid');
echo $calendar->getSummary();
Если вы действительно хотите его в списке календарей, вы можете добавитьit.
$calendarListEntry = new Google_Service_Calendar_CalendarListEntry();
$calendarListEntry->setId("calendarId");
$createdCalendarListEntry = $service->calendarList->insert($calendarListEntry);
echo $createdCalendarListEntry->getSummary();
Настройка учетной записи службы
Как я уже говорил, учетные записи служб должны быть предварительно авторизованы.Вам нужно перейти на веб-сайт Календаря Google и в настройках календаря, к которым вы хотите иметь доступ, вам необходимо поделиться с ним календарем, как показано
полезные ссылки