我们的体育网站为我们的比赛,抽奖等提供ICS日历。
为了检索ICS文件,我们使用PHP脚本读取本地ics文件,然后对VEVENT记录等进行一些可选过滤并返回ICS数据。
我已经通过我的iPhone上的webcal://....
订阅了这个ICS网络摄像头。
我现在有一些奇怪的行为,就像这样的一整天活动(DURATION:P1D)
BEGIN:VEVENT
DTSTART;VALUE=DATE:20120623
DURATION:P1D
TRANSP:TRANSPARENT
SUMMARY:Auslosung: VWM: Super Globe
DESCRIPTION:VWM: Super Globe
UID:20110124@thw-provinzial.de
CATEGORIES:THW-Termin
URL:http://www.thw-provinzial.de/thw/
COMMENT:TYPE=VWM
END:VEVENT
如果我通过webcal://www.thw-provinzial.de/thw/ics.php?config=all?
订阅PHP脚本,在我的iPhone日历中延迟两天。 (显示在20120623和20120624)
如果我直接通过http://www.thw-provinzial.de/thw/thwdate2.ics
订阅ics文件,则该事件仅在20120623日正确显示。
如果我做了
wget http://www.thw-provinzial.de/thw/thwdate2.ics
wget http://www.thw-provinzial.de/thw/ics.php?config=all
然后区分两个输出唯一的区别是X-WR-CALNAME
所有其他内容是相同的。
可能是响应中的某些标题信息让iPhone感到困惑吗?
thwdate2.ics的响应标题 - behvaiour很好
HTTP/1.0 200 OK
Date: XXXXXX
Server: Apache
Last-Modified: Wed, 13 Jun 2012 20:05:04 GMT
ETag: "6c6f78d-c54d-4c260194d7c00"
Accept-Ranges: bytes
Content-Length: 50509
Vary: Accept-Encoding,User-Agent
Content-Type: text/calendar
Age: 787
ics.php的响应标题 - 这里我们遇到了跨越2天的问题
HTTP/1.0 200 OK
Date: Thu, XXXXXX
Server: Apache
Content-Disposition: inline; filename=thwdates.ics
Pragma: no-cache
Cache-Control: no-cache, must-revalidate
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Last-Modified: Wed, 13 Jun 2012 20:05:04 GMT
Vary: Accept-Encoding,User-Agent
Content-Type: text/calendar; charset=utf-8
有什么想法吗?