使用方法 = "REQUEST" 使用 PHP ICalendar 创建全天事件
Create all day event with method = "REQUEST" using PHP ICalender
参考给出的答案 link
Single day all day appointments in .ics files .
BEGIN:VEVENT
UID:1248
DTSTART;VALUE=DATE:20151218
DTEND;VALUE=DATE:20151219
DTSTAMP:20151218T080000Z
CREATED:20151212T200409Z
DESCRIPTION:examplea
LAST-MODIFIED:20151218T080000Z
LOCATION:
SUMMARY:example summary
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
UID:1249
DTSTART;VALUE=DATE:20151217
DTEND;VALUE=DATE:20151218
DTSTAMP:20151217T080000Z
CREATED:20151212T200409Z
DESCRIPTION:example1
LAST-MODIFIED:20151217T080000Z
LOCATION:
SUMMARY:Example
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
上面的示例创建了一个全天事件。但是当我将方法设置为“REQUEST
”时,outlook 中的全天事件框未被选中。我该如何解决这个问题?
我正在发布解决方案
将时间设置为午夜开始日期(亚太地区为 183000 小时)
并将结束日期设置为 date+1(182959 小时)
这样就创建了全天事件。发布我的 ical 文件,如果有人需要的话。
$ical = "BEGIN:VCALENDAR\r\n";
$ical .= "VERSION:2.0\r\n";
$ical .= "PRODID:-//abc//abc//EN\r\n";
$ical .= "METHOD:"."REQUEST"."\r\n";
$ical .= "BEGIN:VEVENT\r\n";
$ical .= "ORGANIZER;CN=Somename\":mailto:testabc.com \r\n";
$ical .= "UID:1248\r\n";
$ical .= "SEQUENCE:".$sequence."\r\n";
$ical .= "STATUS:".$status."\r\n";
$ical .= "DTSTART:20161009T183000\r\n";
$ical .= "DTEND: 20161010T182959\r\n";
//$ical .= "DTSTAMP:20161218T183000Z\r\n";
$ical .= "CREATED:20151212T183000\r\n";
$ical .= "DESCRIPTION:example\r\n";
$ical .= "LAST-MODIFIED:20151218T080000Z\r\n";
$ical .= "LOCATION:India\r\n";
$ical .= "SUMMARY:example summary\r\n";
$ical .= "SEQUENCE:0\r\n";
$ical .= "STATUS:CONFIRMED\r\n";
//$ical .= "TRANSP:OPAQUE\r\n";\
$ical .="X-MICROSOFT-CDO-BUSYSTATUS:FREE\r\n";
$ical .="X-MICROSOFT-CDO-IMPORTANCE:1\r\n";
$ical .="X-MICROSOFT-DISALLOW-COUNTER:FALSE\r\n";
$ical .="X-MS-OLK-ALLOWEXTERNCHECK:TRUE\r\n";
$ical .="X-MS-OLK-CONFTYPE:0\r\n";
$ical .="X-MICROSOFT-CDO-ALLDAYEVENT:TRUE\r\n";
$ical .="X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE\r\n";
$ical .= "END:VEVENT\r\n";
$ical .= "END:VCALENDAR\r\n";
REQUEST 方法类型用于更改已发布的事件。事件已经发布了吗? VEVENT 还必须包含在 VCALENDAR 中。 VCALENDAR 在哪里?
参考给出的答案 link Single day all day appointments in .ics files .
BEGIN:VEVENT
UID:1248
DTSTART;VALUE=DATE:20151218
DTEND;VALUE=DATE:20151219
DTSTAMP:20151218T080000Z
CREATED:20151212T200409Z
DESCRIPTION:examplea
LAST-MODIFIED:20151218T080000Z
LOCATION:
SUMMARY:example summary
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
UID:1249
DTSTART;VALUE=DATE:20151217
DTEND;VALUE=DATE:20151218
DTSTAMP:20151217T080000Z
CREATED:20151212T200409Z
DESCRIPTION:example1
LAST-MODIFIED:20151217T080000Z
LOCATION:
SUMMARY:Example
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
上面的示例创建了一个全天事件。但是当我将方法设置为“REQUEST
”时,outlook 中的全天事件框未被选中。我该如何解决这个问题?
我正在发布解决方案 将时间设置为午夜开始日期(亚太地区为 183000 小时) 并将结束日期设置为 date+1(182959 小时) 这样就创建了全天事件。发布我的 ical 文件,如果有人需要的话。
$ical = "BEGIN:VCALENDAR\r\n";
$ical .= "VERSION:2.0\r\n";
$ical .= "PRODID:-//abc//abc//EN\r\n";
$ical .= "METHOD:"."REQUEST"."\r\n";
$ical .= "BEGIN:VEVENT\r\n";
$ical .= "ORGANIZER;CN=Somename\":mailto:testabc.com \r\n";
$ical .= "UID:1248\r\n";
$ical .= "SEQUENCE:".$sequence."\r\n";
$ical .= "STATUS:".$status."\r\n";
$ical .= "DTSTART:20161009T183000\r\n";
$ical .= "DTEND: 20161010T182959\r\n";
//$ical .= "DTSTAMP:20161218T183000Z\r\n";
$ical .= "CREATED:20151212T183000\r\n";
$ical .= "DESCRIPTION:example\r\n";
$ical .= "LAST-MODIFIED:20151218T080000Z\r\n";
$ical .= "LOCATION:India\r\n";
$ical .= "SUMMARY:example summary\r\n";
$ical .= "SEQUENCE:0\r\n";
$ical .= "STATUS:CONFIRMED\r\n";
//$ical .= "TRANSP:OPAQUE\r\n";\
$ical .="X-MICROSOFT-CDO-BUSYSTATUS:FREE\r\n";
$ical .="X-MICROSOFT-CDO-IMPORTANCE:1\r\n";
$ical .="X-MICROSOFT-DISALLOW-COUNTER:FALSE\r\n";
$ical .="X-MS-OLK-ALLOWEXTERNCHECK:TRUE\r\n";
$ical .="X-MS-OLK-CONFTYPE:0\r\n";
$ical .="X-MICROSOFT-CDO-ALLDAYEVENT:TRUE\r\n";
$ical .="X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE\r\n";
$ical .= "END:VEVENT\r\n";
$ical .= "END:VCALENDAR\r\n";
REQUEST 方法类型用于更改已发布的事件。事件已经发布了吗? VEVENT 还必须包含在 VCALENDAR 中。 VCALENDAR 在哪里?