【问题标题】:How to create recurring event with every 2 days/weeks/months/years in Google Calendar API PHP如何在 Google Calendar API PHP 中每 2 天/周/月/年创建一次重复事件
【发布时间】:2019-07-07 12:12:28
【问题描述】:

我想通过 PHP 中的 Google Calendar API V3 创建一个这样的谷歌日历活动,

每 3 天/周/月/年重复一次,共 5 个周期。

我已经检查过了, https://developers.google.com/calendar/v3/reference/events/insert

但是如何添加这样的事件呢?有什么办法吗?

提前致谢。

【问题讨论】:

    标签: php google-calendar-api


    【解决方案1】:

    您要创建的是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 天有一个 RRULEFREQ=DAILY;UNTIL=20190229;INTERVAL=3。每 3 周将 FREQ 更改为 WEEKLY 并更改 UNTIL 以调整周期数。

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多