使用PHP ICalender使用method =“REQUEST”创建全天事件

时间:2016-10-27 06:34:07

标签: php icalendar

参考此链接给出的答案 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中的全天事件框将被取消选中。我该如何纠正这个问题?

2 个答案:

答案 0 :(得分:0)

我发布了解决方案     设定开始日期午夜的时间(在亚太地区为183000小时)     并将结束日期设为日期+ 1(182959小时)     这样就可以创建全天事件。如果有人需要,请发布我的锉文件。

$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";

答案 1 :(得分:0)

REQUEST方法类型用于更改已发布的事件。这些活动是否已经发布? VEVENT也必须包含在VCALENDAR中。 VCALENDAR在哪里?