TeamCalendar
Idioma

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

Mais artigos