Pergunta

Eu tenho um arquivo .ics que eu gero em nosso banco de dados que funciona corretamente no iCal, mas é esclarecido no calendário do Google. Às vezes, o Google Calendário importa o arquivo, mas não capta todos os eventos.

Alguém tem alguma dica sobre os campos necessários que o Google precisa? Estou perdido aqui sobre por que às vezes não importará, ou por que não gosta de alguns eventos. Alguns dias temos 3 eventos, mas o Google mostra apenas 1.

Pesquisar em outros lugares on -line realmente não ajuda, pois parece que a maioria das outras pessoas está tendo o mesmo problema.

Aqui está uma amostra da minha formatação:

BEGIN:VCALENDAR
METHOD:PUBLISH
X-WR-TIMEZONE:America/Los_Angeles
CALSCALE:GREGORIAN
VERSION:2.0
PRODID:-//PUC Calendar// v2.0//EN
BEGIN:VEVENT
UID:31754826317
TZID:America/Los_Angeles
DTSTART:20091001T100000
URL;VALUE=URI:http://www.puc.edu/news/calendar/events/dates/colloquy-dr-knight
DTSTAMP:20091001T100000
SUMMARY:Colloquy: Heather Knight
DTEND:20091001T100000
LOCATION:Sanctuary
END:VEVENT
END:VCALENDAR

Nosso URL do arquivo .ics é: http://www.puc.edu/news/calendar/puc.ics

Foi útil?

Solução

Seu Tzid parece incorretamente colocado. Você deve incluí -los nas linhas dtstart e dtend como esta:

DTSTART;TZID=Pacific/Honolulu:20110628T140000
DTEND;TZID=Pacific/Honolulu:20110628T140000

(Esteja ciente: deixe 'z' 'está fora do final dos registros de data e hora, a menos que seu tempo seja Zulu Time = GMT)

Você deve adicionar uma sequência: xxx em que xxx é um número que incrementa cada vez que o ICS é atualizado. Por exemplo

SEQUENCE:0

Consegui fazer isso funcionar (é peculiar) e tive o mesmo problema com apenas eventos únicos do meu arquivo de ICS de vários eventos sendo importado. O melhor truque (aludido a outros lugares) é obter um arquivo de ICS exportado do Google e cloná -lo.

Acabei criando dois geradores de arquivos ICS separados - um para iCal (fácil!) E outro para o Google (difícil). Talvez seja necessário um terceiro para o Outlook.

Em breve, você deve chegar ao próximo problema, que é que o Google exige que você especifique o fuso horário do arquivo ICS e cada evento que torna a codificação do seu aplicativo muito mais complexo. A maçã em comparação permite que seu aplicativo publique "Times Flutuantes", que se supõe ser local.

Há um monte de ferramentas de validação de arquivos de ICS que você pode tentar assim, o que pode ser realmente útil ...

http://icalvalid.cloudapp.net/

Advertência: os arquivos que passam esta ferramenta de validação ainda falham no Google. O Google deve realmente criar sua própria ferramenta de validação de ICS.

Esperando para ver quantos representantes de seta para baixo eu recebo por este post!

Outras dicas

Eu estava apenas tendo problemas semelhantes.

Excluir a UID ou alterar o número parece funcionar para mim. (Meus veventes foram numerados sequencialmente 1,2, ...)

Eu tenho um problema similar ,

Se você deseja importar o arquivo de ICS para o calendário do Google,

você deve ter o UID diferente em vários eventos

Meu arquivo continha um VFREEBUSY Bloco antes do primeiro VEVENT. A remoção desse bloco me permitiu fazer upload.

Não sei se houve um problema dentro desse bloco ou se todo o bloco não é suportado, mas o arquivo estava passando a validação em iCalendar.org.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top