我想通过PHP中的Google Calendar API V3创建一个类似这样的Google日历事件,
每3天/周/月/年重复5个周期。
我已经检查了, https://developers.google.com/calendar/v3/reference/events/insert
但是如何添加这样的事件?有什么办法吗?
先谢谢了。
答案 0 :(得分:0)
您要创建的是recurring event。创建重复事件类似于creating具有事件资源的event
字段集的常规(单个)recurrence。要了解有关重复规则的更多信息,请访问此link。
重复发生的事件的示例是:
$event = new Google_Service_Calendar_Event();
$event->setSummary('Appointment');
$event->setLocation('Somewhere');
$start = new Google_Service_Calendar_EventDateTime();
$start->setDateTime('2011-06-03T10:00:00.000-07:00');
$start->setTimeZone('America/Los_Angeles');
$event->setStart($start);
$end = new Google_Service_Calendar_EventDateTime();
$end->setDateTime('2011-06-03T10:25:00.000-07:00');
$end->setTimeZone('America/Los_Angeles');
$event->setEnd($end);
$event->setRecurrence(array('RRULE:FREQ=WEEKLY;UNTIL=20110701T170000Z'));
$attendee1 = new Google_Service_Calendar_EventAttendee();
$attendee1->setEmail('attendeeEmail');
与单个事件不同的是以下行:
$event->setRecurrence(array('RRULE:FREQ=WEEKLY;UNTIL=20110701T170000Z'));
此行使单个事件每周再次发生,直到7月1日。
另一个示例:从2015年6月1日开始的全天活动,该月每3天重复一次,不包括6月10日,但包括6月9日和11日。
...
"start": {
"date": "2015-06-01"
},
"end": {
"date": "2015-06-02"
},
"recurrence": [
"EXDATE;VALUE=DATE:20150610",
"RDATE;VALUE=DATE:20150609,20150611",
"RRULE:FREQ=DAILY;UNTIL=20150628;INTERVAL=3"
],
…
对于您的情况,您可以创建一个周期性事件,该事件每3天的RRULE
为FREQ=DAILY;UNTIL=20190229;INTERVAL=3
。每3周将FREQ
更改为WEEKLY
,然后将UNTIL
更改为多少个周期。