Php Google Calendar Gdata旧的重复事件已删除事件仍显示,事件ID以Z结尾

Php Google Calendar Gdata旧的重复事件已删除事件仍显示,事件ID以Z结尾,php,zend-framework,gdata,recurring-events,event-id,Php,Zend Framework,Gdata,Recurring Events,Event Id,我曾尝试用谷歌搜索这个问题,但没有成功,可能是因为搜索字符串“Z”不够具体 背景: 使用Google日历Zend gdata库,并一直使用简单代码列出特定时间段内的事件。在这种情况下,2012年2月27日至2012年3月3日。 我列出了许多单项活动,其中有一个重复发生的活动,名为“Rob”,每周一至周五一次。 我使用的基本代码没有任何花哨的添加。然而:) 问题: 当我使用$query->setSingleEvents(TRUE)参数时,一切都按预期工作,并显示了正确的事件 当我谈到“显示”事件时

我曾尝试用谷歌搜索这个问题,但没有成功,可能是因为搜索字符串“Z”不够具体

背景:
使用Google日历Zend gdata库,并一直使用简单代码列出特定时间段内的事件。在这种情况下,2012年2月27日至2012年3月3日。 我列出了许多单项活动,其中有一个重复发生的活动,名为“Rob”,每周一至周五一次。
我使用的基本代码没有任何花哨的添加。然而:)

问题:
当我使用
$query->setSingleEvents(TRUE)
参数时,一切都按预期工作,并显示了正确的事件

当我谈到“显示”事件时,我指的是使用Zend gdata显示日历事件的PHP页面。
在所有情况下,Google日历GUI都会显示正确的数据(即“Rob”事件不会显示,因为它已被删除

但当我将其设置为
FALSE
时,重复事件“Rob”应该具有要分组的开始时间,但是相反,会显示一些额外的随机事件,没有
starttime
,只是相同的标题。即使我删除了重复事件,它仍然会显示在gdata返回的数据中

有趣的观察结果
已删除但仍显示在页面上的事件的EventID以“Z”结尾。 它具有通常的eventID,后跟:
\u 20120302T030000Z

我的问题
此事件已在Google日历GUI中删除。为什么gdata仍显示已删除的事件,以及eventid以时间戳和Z结尾的意思是什么

解析尝试:
1.尝试将其从定期事件更改为正常事件(删除“系列中所有事件”的定期事件)
运气不好,仍然列出了额外的。
2.删除系列中所有事件的重复事件。
这在
SingleEvents(TRUE)
中再次显示了正确的结果,但在
FALSE
中,旧的“Rob”事件在从日历中完全删除后仍会显示

代码:

function outputCalendarByDateRange($client, $startDate='2012-02-27',
                                   $endDate='2012-03-03')
{
  $gdataCal = new Zend_Gdata_Calendar($client);
  $query = $gdataCal->newEventQuery();
  $query->setUser('default');
  $query->setVisibility('private');
  $query->setProjection('full');
  $query->setOrderby('starttime');
  $query->setStartMin($startDate);
  $query->setStartMax($endDate);
  $query->setSingleEvents(FALSE);
  $eventFeed = $gdataCal->getCalendarEventFeed($query);

  foreach ($eventFeed as $event) {
    echo "Title: " . $event->title->text . "<br />";
    echo "Event ID: " . $event->id->text . "<br />";
    foreach ($event->when as $when) {
      echo "Start: " . $when->startTime . "<br />";
    }
    echo "<br />";
  }
}
函数outputCalendarByDateRange($client,$startDate='2012-02-27',
$endDate='2012-03-03')
{
$gdataCal=新的Zend_Gdata_日历($client);
$query=$gdataCal->newEventQuery();
$query->setUser('default');
$query->setVisibility('private');
$query->setProjection('full');
$query->setOrderby('starttime');
$query->setStartMin($startDate);
$query->setStartMax($endDate);
$query->setSingleEvents(FALSE);
$eventFeed=$gdataCal->getCalendarEventFeed($query);
foreach($eventFeed作为$event){
回显“标题:.”事件->标题->文本。“
”; 回显“事件ID:”.$Event->ID->text。“
”; foreach($event->when as$when){ 回显“开始:.$when->startTime.”
; } 回声“
”; } }
以下是我在

36.5.6.删除事件可以通过调用日历服务的delete()方法并提供编辑命令来删除日历事件 事件的URL或通过调用现有事件自己的delete()方法

无论哪种情况,删除的事件仍将显示在用户的屏幕上 如果提供了updateMin查询参数,则私有事件提要。 删除的事件可以与常规事件区分开来,因为它们 将其事件状态属性设置为 ”http://schemas.google.com/g/2005#event.canceled“

在解析提要时,似乎必须测试事件状态

顺便说一句,时间戳分解为

年份:2012日:03月:02时间:T小时:分:秒03:00:00祖鲁:Z


Zulu与GMT(格林威治标准时间)或UTC(世界时代码)相同

您是否尝试过检查事件状态,如此处所示?:听起来好像有什么东西正在缓存……只是说,我从来没有回到这里来感谢大家的回复。很久以前,我甚至不记得我是如何解决问题的。另外,我不知道回复的原因是因为我没有勾选“电子邮件”框请告诉我我的电子邮件帐户的任何回复。无论如何,我不喜欢寻求帮助,然后不跟进,所以道歉!