Динамическая .ics с php не обновляется в Календаре Google

Я пытался создать в php страницу .ics, которая будет добавлена в Календарь Google через "Добавить по URL", чтобы я мог извлекать события из базы данных и представлять их в календаре.

Я немного покопался в SO и нашел еще одно сообщение, которое очень помогло мне начать, но теперь я наткнулся на препятствие, которое, похоже, не влияет на тех, у кого есть похожий код. Сообщение можно найти здесь .

Итак, моя проблема в том, что я не могу заставить Календарь Google обновить мою страницу, как будто он кэшировал страницу в календаре. Поэтому, когда я добавляю еще одно VEVENT на страницу, он не обновляет календарь.

При создании файла он генерирует правильный формат для файла *.ics. Формат показан ниже.

Если я перейду непосредственно на страницу, мне будет предложено загрузить файл, который работает для импорта в GC, и если я добавлю тот же код на другую страницу, например, изменение имени страницы с cal.php на cal2.php, заставит GC прочитать все события, в то время как когда я просто добавляю тот же самый URL, что и раньше, он не улавливает никаких изменений, сделанных в файле.

Кто-нибудь знает, почему он не обновляется?

Другие, у кого были подобные проблемы, решили это, добавив UID к своему VEVENT, что ничего не решило для меня....

Формат сгенерирован

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

Код использован


5
задан Community 23 May 2017 в 11:47
поделиться