我試圖使用Google_CalendarService檢索所有事件。到目前爲止,我正在重新審視所有事件,但有一些事件沒有顯示出來。Google Calendar API PHP listEvents不檢索所有事件
例如:我有22-okt,23-okt和24-okt的事件。他們都是正常的事件,但我得到的只有22和23. 24沒有出現,但它確實存在於我的日曆中!
[更新]發現另一個問題!每當我通過我的應用程序編輯現有事件時,事件就會消失,但在日曆中確實存在!
這裏是我的獲取數據代碼:
API設置:
function calSettings(){
$client = new Google_Client();
$cal = new Google_CalendarService($client);
$client->setAccessType('offline');
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
}
if (isset($_SESSION['token'])) {
$client->setAccessToken($_SESSION['token']);
$sessionToken = json_decode($_SESSION['token']);
$this->Cookie->write('token', $sessionToken->refresh_token, false, '1 month');
}
$cookie = $this->Cookie->read('token');
if(!empty($cookie)){
$client->refreshToken($this->Cookie->read('token'));
}
$serviceArr = array('client' => $client, 'service' => $cal);
return $serviceArr;
}
獲取事件:
public function initCalendar($ownerCalendarId = null, $eventID = null){
$serviceArr = $this->calSettings();
$client = $serviceArr['client'];
$cal = $serviceArr['service'];
$wandaCalendarId = '[email protected]';
if ($client->getAccessToken()) {
/************* Code entry *************/
if($eventID != null){
$events = $cal->events->get($ownerCalendarId, $eventID);
}else{
$ownerEvents = $cal->events->listEvents($ownerCalendarId);
if($ownerCalendarId != $wandaCalendarId){
$wandaEvents = $cal->events->listEvents($wandaCalendarId);
$events = array('owner' => $ownerEvents, 'wanda' => $wandaEvents);
}else{
$events = array('owner' => $ownerEvents, 'wanda' => '');
}
}
return $events;
}else{
/************* Not connected to google calendar code *************/
$authUrl = $client->createAuthUrl();
$returnArr = array('status' => 'false', 'message' => "<a class='login' href='$authUrl'>Connect Me!</a>");
return $returnArr;
}
}
與此代碼
所以,我得到的大部分事件,爲什麼的arent其他人出現?有沒有人有過這個問題?