Php 防止通过Zend单独删除重复出现的Google日历条目?

Php 防止通过Zend单独删除重复出现的Google日历条目?,php,zend-framework,events,gdata,recurring,Php,Zend Framework,Events,Gdata,Recurring,我正在创建一个带有计划者的网站,并希望将其与谷歌日历同步。到目前为止,它使用Zend框架的GData类工作得相当好。我遇到了一个问题,每周都会出现重复事件,即使它们被单独删除。 我试过: $query->setParam('singleevents','true'); 但现在,在我的计划制定的最初几周,很多活动都没有出现,有时我只是错过了一些活动。 这是我的脚本的基本结构: require_once 'Zend/Loader.php'; Zend_Loader::loadClass('Z

我正在创建一个带有计划者的网站,并希望将其与谷歌日历同步。到目前为止,它使用Zend框架的GData类工作得相当好。我遇到了一个问题,每周都会出现重复事件,即使它们被单独删除。 我试过:

$query->setParam('singleevents','true');
但现在,在我的计划制定的最初几周,很多活动都没有出现,有时我只是错过了一些活动。 这是我的脚本的基本结构:

require_once '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('mypubliccalendar@gmail.com');    
$query->setVisibility('public');
$query->setProjection('full');
$query->setStartMin(date('Y-m-d', strtotime(week_start_date("Y-m-d H:i:s"))));
$query->setStartMax(date('Y-m-d', strtotime(week_start_date("Y-m-d H:i:s")) +
    (60*60*24*7*10)));
$query->setOrderby('starttime');
$query->setParam('singleevents','true');

try { 
    $eventFeed = $service->getCalendarEventFeed($query); 
}

catch (Zend_Gdata_App_Exception $e) { 
    return; 
}

foreach ($eventFeed as $event) {        
    foreach ($event->when as $when) {
         // transform data
    }
}

我该怎么做才能让我的计划者获得与我的谷歌日历完全相同的数据?

我找到了解决方案。我猜zend框架在XML提要中使用resultsPerPage值。由于事件是按相反的时间顺序检索的,并且在我的日期范围(10周)中有55个条目,所以前几周是空的。我决定采用简单的解决方案,并将约会时间缩短到5周。现在它工作得很好

祝贺你的解决方案!如果您能够,请单击左侧的复选标记,确保将您的答案标记为“已接受”。这将使其他人能够从你的成功中学习。干杯~