Google takvim - Normal olaylar gibi gösteriliyor yinelenen olaylar

2 Cevap php

Ben bir Google takvim hesabı sonraki 20 günlük olayların bir listesini göstermek için çalışıyorum. Infuriatingly yinelenen olaylar So ... (onların başlangıç ​​zamanları eski çünkü ben varsayıyorum) gösterilmiyor. Herhangi bir fikir?

require_once dirname(__FILE__).'/../../../Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_HttpClient');
Zend_Loader::loadClass('Zend_Gdata_Calendar');

$service = new Zend_Gdata_Calendar();

$query = $service->newEventQuery();
$query->setUser('REMOVED');
$query->setVisibility('public');
$query->setProjection('full');
$query->setOrderby('starttime');
$query->setSortOrder('ascending');
$query->setFutureevents('true');
$query->setMaxResults(20); 

try { $eventFeed = $service->getCalendarEventFeed($query); }
catch (Zend_Gdata_App_Exception $e) { return; }

Ben artan sırayla tüm kamu etkinlikleri olsun herhangi bir alternatif yöntemleri kabul etmeye hazırım. Ben RSS denedim ama tarihler onlar takvimine eklendi zaman görünür.

2 Cevap

Projeksiyon önce oynadım şeydir. (Ben ayrıştırmak ve elle yinelenen olaylar patlamak istediğiniz sürece) yardımcı olmuyor. Ama that link golden oldu.

$query->setParam('singleevents','true');

Onların docs:

singleevents

Indicates whether recurring events should be expanded or represented as a single event.

Valid values are true (expand recurring events) or false (leave recurring events represented as single events). Default is false.

Benim düşünceme göre, false aptalca varsayılan ama hey-ho. Şimdi çalışmak için görünür!

Bu değiştirme:

$query->setProjection('full');

Buna:

$query->setProjection('composite');

Eğer tekrarlanan olaylar da dahil olmak üzere ek veri, her türlü verecektir. Bu Google Takvim API referans başına: http://code.google.com/apis/calendar/docs/2.0/reference.html