2017-11-14 2 views
0

ich den folgenden Code als Laravel Befehl ausführen ...PHP/Laravel Google APi w/Kalender - Antwort Leere

$cfg = Config::get('calendar'); 
$client = new \Google_Client(); 
$client->setApplicationName('Test Application'); 
$client->addScope(\Google_Service_Calendar::CALENDAR); 
$client->setAuthConfig($cfg['authConfig']); 
$service = new \Google_Service_Calendar($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; 
    } 
} 

Authentifizierung ist in Ordnung, alles scheint zu funktionieren, aber ich wieder ein leeres Array für getItems()

Nicht sicher, was ich vermisse. Lassen Sie mich wissen, wenn Sie mehr Informationen benötigen, bekomme ich eine Antwort, es ist immer nur "ohne Artikel". Ich habe 4 Testkalender auf dem Konto.

+0

Können Sie versuchen, eine Antwort mit dem [Try-it] (https://developers.google.com/google-apps/calendar/v3/reference/calendarList/list#try-it) zu erhalten? – noogui

+0

Ja, es hat alles gut funktioniert, ich habe das Problem entdeckt, ich werde eine Antwort hinzufügen. – Mfoo

Antwort

0

Ich entdeckte, was das Problem war. Was Google nicht dokumentiert, ist, dass Sie unabhängig von der Tatsache, dass Sie alle ihre Test-APIs in der Entwicklerkonsole mit dem Eigentümerkonto verwenden können, den @ web-calendar - ******. Iam.gserviceaccount.com hinzufügen müssen und fügen Sie eine Freigabe mit den entsprechenden Berechtigungen für den Kalender hinzu, den Sie verwalten möchten.

Eine andere Sache zu beachten ist, dass, wenn Sie es teilen, obwohl Sie es die richtigen Berechtigungen geben, wenn Sie die Freigabe hinzufügen, wird es die Berechtigungen auf nur lesen herabstufen. Ich musste es 3 Mal ändern und speichern, um es zu halten.