在Google Calendar API中更新定期活动的所有实例

Kin*_*ous 2 google-calendar-api

更新周期性事件的所有(或子集)实例的正确方法是什么?还有关系:如果给出原始事件的id,你如何获得该事件的实例?

Rim*_*son 6

如果只想更新周期性事件的子集,则需要在运行查询时设置singleevents = true以检索初始事件列表.在PHP中你会做这样的事情

  $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('true');  //get recurring events as a series of single events
  $eventFeed = $gdataCal->getCalendarEventFeed($query);

  foreach ($eventFeed as $event) {
    //do stuff with $event
  }
Run Code Online (Sandbox Code Playgroud)


San*_*kar 5

我尝试更新所有重复事件,它正在工作.最初我创建了一个重复事件,如2016年2月25日星期一至2016-03 25每周,并为该周期创建6个实例.更新我尝试的是,

1.首先我分配到Recurrence字段,"recurrence":["RRULE:FREQ = WEEKLY; COUNT = 18; BYDAY = TU"](周二更新如周)

2.之后我使用list google api获取可用列表.我使用了Single Events:false(因为它只会给出主要的重复事件而不是所有实例)

3.之后我使用update事件更新,如通过auth,eventId和calendarId:"primary"和resource:updated事件数组

然后它就完成了.它正在周二将实例更新为Weekly.

我希望它对某人有所帮助.