Próbuję przepisać starszą aplikację, której wcześniej nie pisałem przy użyciu interfejsu API Google Calendar v3.Uzyskiwanie dostępu do Kalendarza Google przy użyciu interfejsu API v3
Zaimplementowałem klienta google-api-php, utworzyłem klucz API w mojej konsoli programisty i przeszedłem przez proces uwierzytelniania. Mam accessToken
, który utrzymuję się w bazie danych i kiedy wygasa, mogę odświeżyć token dobrze.
Jednak nie jestem w stanie wykonać żadnej pracy z Kalendarze w ogóle.
Obserwuję co ogranicza dokumentacja jest już tam i mają następujące:
$this->client = new Google_Client();
$this->client->setClientId($this->settings['clientId']);
$this->client->setClientSecret($this->settings['clientSecret']);
$this->client->setAccessToken($this->settings['accessToken']);
$service = new Google_Service_Calendar($this->client);
$calendarList = $service->calendarList->listCalendarList();
while(true) {
foreach ($calendarList->getItems() as $calendarListEntry) {
echo $calendarListEntry->getSummary();
}
$pageToken = $calendarList->getNextPageToken();
if ($pageToken) {
$optParams = array('pageToken' => $pageToken);
$calendarList = $service->calendarList->listCalendarList($optParams);
} else {
break;
}
}
Błąd, który dostaję z powrotem jest:
Message: Undefined property: Google_Service_Calendar_CalendarList::$items
Sprawdziłem mój Google Konto kalendarza i wszystkie kalendarze są udostępniane, więc nie powinno być problemu, chociaż nie widzę powodu, dla którego jest to problem, ponieważ i tak używam uwierzytelnionego konta.
Ktoś może zaoferować radę?
Wiele Dzięki
Czy próbowałeś debugować listy kalendarzy wezwanie tutaj? https://developers.google.com/google-apps/calendar/v3/reference/calendarList/list#try-it, aby upewnić się, że masz odpowiedź z "$ calendarList-> getItems()" –
Tak, to zwraca kalendarze są w porządku, gdy korzystam z funkcji "wypróbuj". – madebyhippo
można opublikować wyjście z var_dump ($ calendarList-> getItems())? –