Documentação
O que é o formato de ficheiro ICS?
Internet Calendaring and Scheduling
O ICS é um formato de ficheiro que permite aos utilizadores da Internet partilhar eventos de calendário com outros utilizadores, partilhando ficheiros ou enviando emails. Os ficheiros ICS são muitas vezes usados para enviar convites para reuniões ou para subscrever calendários de feriados ou de aniversários. Os ficheiros podem ser abertos e importados por vários programas de calendário, incluindo o Microsoft Outlook, o Google Calendar e o Apple Calendar.
O formato de ficheiro ICS está definido na RFC 5545, a Internet Calendaring and Scheduling Core Object Specification. O formato baseia-se no formato vCalendar, mais antigo, que foi definido na RFC 2445.
Os ficheiros ICS são ficheiros de texto simples que contêm informação sobre eventos de calendário. Podem incluir detalhes como descrições dos eventos, horas de início e de fim, locais e outras informações. Podem também incluir informação sobre eventos recorrentes, como reuniões semanais ou aniversários mensais e, no caso do TeamCalendar.com, calendários de jogos.
Como o ics é um simples ficheiro de texto, também é bastante fácil de ler. Eis um exemplo de uma entrada ics. É isto que o TeamCalendar entrega à sua aplicação de calendário.
BEGIN:VEVENT
UID:9b950757-21e5-4443-afde-8faafdc58101@TeamCalendar.com
DTSTAMP:20240317T024915Z
SUMMARY:⚾️ Arizona Diamondbacks host St. Louis Cardinals
DESCRIPTION:\nhttps://TeamCalendar.com/app/T9qgt4MERu Use this link to Add or Remove team schedules from your TeamCalendar.\n\nThank you for using Te amCalendar.com! If you like our calendar service\, please consider sharing with your friends.
LOCATION:Chase Field: Phoenix\, AZ USA
DTSTART:20240413T014000Z
DTEND:20240413T044000Z
GEO:33.445278;-112.066944
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;
X-ADDRESS=Chase Field: Phoenix\, AZ USA;
X-APPLE-RADIUS=72;
X-TITLE=Chase Field:geo:33.445278,-112.066944
CREATED:20240317T024915Z
LAST-MODIFIED:20240331T182349Z
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:⚾️ Diamondbacks host St. Louis Cardinals starts in one hour
TRIGGER:-PT60M
END:VALARM
END:VEVENT O ficheiro de texto é bastante fácil de perceber se o ler de cima para baixo.
- BEGIN:VEVENT - Início de um novo evento
- UID - Identificador único do evento
- DTSTAMP - Data e hora em que o evento foi criado
- SUMMARY - Título do evento
- DESCRIPTION - Descrição do evento
- LOCATION - Local do evento
- DTSTART - Data e hora de início do evento. Para suportar fusos horários, o TeamCalendar publica todas as datas e horas em Tempo Universal Coordenado (também conhecido como UTC). Depois, o Google ou o Outlook convertem-nas para o seu fuso horário atual. Isto é muito útil, sobretudo quando viaja e o seu calendário muda de fuso horário automaticamente.
- DTEND - Data e hora de fim do evento. O TeamCalendar só sabe a hora de fim de um evento depois de este terminar, por isso, para preencher o seu calendário, usamos por predefinição a duração média de um jogo, de acordo com a liga do calendário.
- GEO - Geolocalização do evento. Muito útil para obter indicações de condução sem uma morada exata. Útil em eventos internacionais, em que as moradas têm outro formato (ou não existem). Indicações de condução (Apple Maps, Google Maps, Waze, etc. sabem todos navegar com base em coordenadas GPS).
- X-APPLE-STRUCTURED-LOCATION - Local estruturado do evento
- CREATED - Data e hora em que o evento foi criado - usado internamente pelo TeamCalendar
- LAST-MODIFIED - Data e hora da última alteração do evento - usado internamente pelo TeamCalendar. Atualizamos este campo quando o evento muda, o que indica à Google/Microsoft/Apple que o evento foi atualizado.
- BEGIN:VALARM - Início de um novo alarme
- ACTION - Ação do alarme
- DESCRIPTION - Descrição do alarme
- TRIGGER - Acionador do alarme
- END:VALARM - Fim do alarme
- END:VEVENT - Fim do evento