San*_*der 5 php icalendar google-calendar-api
我一直在尝试在php中创建一个.ics页面,该页面将通过"Add by URL"添加到Google Calendar中,以便我从数据库中检索事件并将其显示在日历中.
我已经搜索了一段时间,并发现了另一篇文章,这对开始非常有帮助,但我现在遇到了一个似乎并没有影响那些具有类似代码的障碍.邮政可以在这里找到.
所以,我的问题是我似乎无法让Google日历更新我的页面,就好像它已在日历中缓存了页面一样.因此,当我向页面添加另一个VEVENT时,它不会更新日历.
创建文件时,它会为*.ics文件生成正确的格式.格式如下所示.
如果我直接进入页面,我会收到提示下载文件,该文件可以导入GC,如果我将相同的代码添加到不同的页面,例如将页面名称从cal.php更改为cal2.php,将使GC读取所有事件,而当我只是添加相同的URL时,它不会接收对文件所做的任何更改.
任何人都知道为什么这不更新?
有其他类似问题的人通过在他们的VEVENT上添加一个UID来解决这个问题,这对我来说没有解决这个问题......
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:17d88c861131ec62f18835cdd4eb7d0c@yourhost.test
DTSTAMP:20110901T092002Z
DTSTART:20110925T170000Z
DTEND:20110928T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
BEGIN:VEVENT
UID:00813115d1a2d21447eb11ded3ba9020@yourhost.test
DTSTAMP:20110901T092002Z
DTSTART:20110929T170000Z
DTEND:20110930T035959Z
SUMMARY:Camping Trip
END:VEVENT
BEGIN:VEVENT
UID:1f18d85fe516d684536129ed066e7d4f@yourhost.test
DTSTAMP:20110901T092002Z
DTSTART:20110914T170000Z
DTEND:20110915T035959Z
SUMMARY:Testing new Event
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
<?php
header("Content-Type: text/Calendar");
header("Content-Disposition: inline; filename=\"calendar.ics\"");
echo "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:" . md5(uniqid(mt_rand(), true)) . "@yourhost.test
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:20110925T170000Z
DTEND:20110928T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
BEGIN:VEVENT
UID:" . md5(uniqid(mt_rand(), true)) . "@yourhost.test
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:20110929T170000Z
DTEND:20110930T035959Z
SUMMARY:Camping Trip
END:VEVENT
BEGIN:VEVENT
UID:" . md5(uniqid(mt_rand(), true)) . "@yourhost.test
DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z
DTSTART:20110914T170000Z
DTEND:20110915T035959Z
SUMMARY:Testing new Event
END:VEVENT
END:VCALENDAR";
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3391 次 |
| 最近记录: |