共有されたGoogleカレンダーで、listCalendarListがまったく取得できなくてハマってしましました。
解決方法
<?php
// ~/composer.phar require google/apiclient:^2.0
require_once __DIR__.'/vendor/autoload.php';
$aimJsonPath = './Calendar.json';
$client = new Google_Client();
$client->setApplicationName('カレンダーリストの取得');
$client->setScopes(Google_Service_Calendar::CALENDAR);
$client->setAuthConfig($aimJsonPath);
$service = new Google_Service_Calendar($client);
// カレンダーの追加
$calendarID = 'カレンダーID';
$calendarListEntry = new Google_Service_Calendar_CalendarListEntry();
$calendarListEntry->setId($calendarID);
$service->calendarList->insert($calendarListEntry);
// カレンダーの削除
//$service->calendarList->delete($calendarID);
// カレンダーリストの取得
$list = $service->calendarList->listCalendarList();
?>
service accountのカレンダーに、共有が許可されたカレンダーを追加しないといけないんですね。
一度追加すればカレンダーの削除( calendarList->delete )または共有を解除するまで使用できるようです。
本当は共有された複数カレンダーの backgroundColor を取得したかったんですが、カレンダーによっては若干色が違うですね。
コメント