0

我们的体育网站为我们的比赛、抽签等提供 ICS 日历。

为了检索 ICS 文件,我们使用 PHP 脚本读取本地 ics 文件,然后对 VEVENT 记录等进行一些可选过滤并返回 ICS 数据。

webcal://....我已经在我的 iPhone 上订阅了这个 ICS webcal 。

我现在有一些像这样的全天事件(持续时间: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?. (显示在 20120623 和 20120624 上)

如果我直接通过事件订阅 ics 文件,http://www.thw-provinzial.de/thw/thwdate2.ics则仅在第 20120623 天正确显示。

如果我做一个

wget http://www.thw-provinzial.de/thw/thwdate2.ics
wget http://www.thw-provinzial.de/thw/ics.php?config=all

然后 diff 两个输出唯一的区别是X-WR-CALNAME所有其他内容是相同的。

会不会是响应中的某些标头信息让 iPhone 感到困惑?

thwdate2.ics 的响应标头 - 这里的行为很好

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

有任何想法吗?

4

0 回答 0