Con iCalendar hai la pos­si­bi­li­tà di unire tutti gli ap­pun­ta­men­ti da diversi programmi in un unico posto. Questi possono poi essere gestiti e mo­di­fi­ca­ti come file nel formato standard. Dato che si tratta di uno standard globale, quasi tutti gli utenti sono in grado di ma­neg­gia­re questi file.

Crea il tuo sito web
Scopri le nuovi funzioni IA di MyWebsite
  • Editor facile e intuitivo con supporto IA
  • Immagini e testi d'effetto in pochi secondi
  • Dominio, indirizzo e-mail e cer­ti­fi­ca­to SSL inclusi

iCalendar: de­fi­ni­zio­ne e spie­ga­zio­ne del formato di scambio dei dati

iCalendar è un formato di scambio di dati del ca­len­da­rio per la con­di­vi­sio­ne di unità di ca­len­da­rio, definito in RFC 5545. Esso consente di rag­grup­pa­re gli ap­pun­ta­men­ti da diverse ap­pli­ca­zio­ni su PC e smart­pho­ne in un unico ca­len­da­rio, da cui gestirli e con­di­vi­der­li. Il formato si basa su vCalendar, creato già nel 1998. Con il formato iCal è dunque possibile gestire e con­di­vi­de­re in tempo reale pra­ti­ca­men­te tutti gli eventi di diverse ap­pli­ca­zio­ni di ca­len­da­rio in un formato chiaro.

Consiglio

Le in­for­ma­zio­ni contenute in un file iCalendar non sono limitate alle sole date. Il formato consente di or­ga­niz­za­re anche liste di cose da fare o riunioni.

Cos’è ical?

A seconda del sistema operativo, i file iCalendar hanno esten­sio­ni diverse e non poche persone si chiedono cosa sia ical, ics o iFBF quando ricevono una richiesta. Queste sono sem­pli­ce­men­te le esten­sio­ni dei file di iCalender: .ics, .ifb, .ical e .ifbf si ri­fe­ri­sco­no sempre a file in formato iCal, ma pre­sen­ta­no alcune dif­fe­ren­ze.

  • ical: esten­sio­ne in macOS
  • ics: esten­sio­ne in tutti gli altri sistemi operativi
  • ifbf: contiene in­for­ma­zio­ni sulla di­spo­ni­bi­li­tà del de­sti­na­ta­rio della richiesta (in macOS)
  • ifb: contiene in­for­ma­zio­ni sulla di­spo­ni­bi­li­tà del de­sti­na­ta­rio della richiesta (in tutti gli altri sistemi operativi)

Se desideri inviare la voce di un evento, devi prima se­le­zio­na­re il tipo di file del formato iCalendar per il sal­va­tag­gio e l’invio. Il formato .ics è spesso la scelta migliore in quanto com­pa­ti­bi­le con la maggior parte dei sistemi operativi. Quando il de­sti­na­ta­rio apre il file può decidere se accettare o meno l’invito ricevuto.

Fatto

In linea di principio i file iCalendar sono semplici file di testo che sem­pli­fi­ca­no lo scambio tra sistemi diversi.

I vantaggi di iCalendar

iCalendar non è limitato allo scambio di file. Il formato degli eventi iCalendar è stret­ta­men­te legato allo standard di posta elet­tro­ni­ca, questo significa che adotta la Mul­ti­pur­po­se Internet Mail Extension (MIME) e, in par­ti­co­la­re, il tipo “text/calendar”. Ciò fa sì che le voci del ca­len­da­rio in questo formato possano essere inserite quasi ovunque e persino integrate nei siti web. Gli eventi possono essere condivisi e le date im­por­tan­ti possono essere pub­bli­ca­te. Insieme ai server WebDAV, uti­liz­za­ti per fornire file su internet, è possibile sin­cro­niz­za­re gli eventi in qualsiasi momento.

Questo formato offre, inoltre, la pos­si­bi­li­tà di con­di­vi­de­re gli ap­pun­ta­men­ti di­ret­ta­men­te tra di­spo­si­ti­vi mobili tramite Bluetooth o una rete personale. Pertanto, se ad esempio desideri fissare un incontro di lavoro in una data specifica, non devi fare altro che inviare questo evento a tutti i presenti. iCalendar offre anche la pos­si­bi­li­tà di uti­liz­za­re tutte le in­for­ma­zio­ni me­mo­riz­za­te in più ap­pli­ca­zio­ni che il formato sin­cro­niz­za in tempo reale.

Il formato iCalendar è sup­por­ta­to dai programmi di ca­len­da­rio più comuni, che ne integrano i dati basati sul web:

  • Google Calendar
  • Ca­len­da­rio Android
  • Microsoft Outlook
  • Ca­len­da­rio Blac­k­ber­ry
  • Ca­len­da­rio macOS/iOS

Cosa significa la stan­dar­diz­za­zio­ne secondo RFC 5545

RFC 5545 sta­bi­li­sce come le in­for­ma­zio­ni del ca­len­da­rio devono essere strut­tu­ra­te e co­di­fi­ca­te, affinché possano essere lette ed elaborate cor­ret­ta­men­te da diverse ap­pli­ca­zio­ni.

Centrale è la struttura dei dati uniforme basata sulle co­sid­det­te com­po­nen­ti di ca­len­da­rio come VEVENT, VTODO, VJOURNAL o VTIMEZONE. Ognuna di queste com­po­nen­ti segue una struttura chia­ra­men­te definita, con campi ob­bli­ga­to­ri e fa­col­ta­ti­vi che includono spe­ci­fi­che proprietà come inizio, fine, luogo o de­scri­zio­ne di un ap­pun­ta­men­to.

Inoltre, RFC 5545 di­sci­pli­na anche le seguenti proprietà:

  • la sintassi (formato del testo UTF-8, lunghezza delle righe, in­ter­ru­zio­ni di riga)
  • Formati di data e ora (incluse le in­di­ca­zio­ni del fuso orario)
  • la codifica di eventi ri­cor­ren­ti, ad esempio tramite la proprietà RRULE.

In questo modo si ga­ran­ti­sce che un file .ics creato una volta possa essere in­ter­pre­ta­to nello stesso modo, in­di­pen­den­te­men­te dal programma o dal sistema operativo uti­liz­za­to.

Sito web con dominio
Crea il tuo sito web per­so­na­liz­za­to

MyWebsite Now Starter è lo strumento pensato per i prin­ci­pian­ti che vogliono creare un sito web in modo intuitivo. Include dominio e indirizzo e-mail.

Come creare un file iCalendar

Dalla teoria alla pratica: segui questi passaggi per creare un evento.

  1. Per prima cosa apri un nuovo documento su un editor di testo a tua scelta. Se disponi della giusta ap­pli­ca­zio­ne puoi farlo anche dal tuo smart­pho­ne.
  2. Il file viene ora compilato con l’attuale struttura iCalendar, che spie­ghe­re­mo più det­ta­glia­ta­men­te nel prossimo passaggio.
  3. Una volta compilato cor­ret­ta­men­te, devi esportare il documento nel formato ical. Per farlo devi prima salvare il file con l’esten­sio­ne “.ics”. 4.Apri ora un programma di ca­len­da­rio a tua scelta e importa il file ics come ap­pun­ta­men­to. Tutto quello che devi fare è cliccare sulla voce di menu cor­ri­spon­den­te e l’ap­pun­ta­men­to sarà caricato au­to­ma­ti­ca­men­te dalla directory.
  4. L’evento è stato ora inserito come voce nel tuo ca­len­da­rio.

Affinché il tra­sfe­ri­men­to dei dati avvenga cor­ret­ta­men­te e il de­sti­na­ta­rio possa importare l’evento nel proprio ca­len­da­rio ics, devi tra­sfe­ri­re le in­for­ma­zio­ni in un formato pre­de­fi­ni­to. Ogni riga ha un si­gni­fi­ca­to preciso:

Riga iCal Si­gni­fi­ca­to
BEGIN:VCALENDAR Inizio di ogni file iCalendar.
VERSION Indica la versione del formato, at­tual­men­te “2.0”.
PRODID Riporta il nome o l’indirizzo di chi ha creato il file o dell’ap­pli­ca­zio­ne uti­liz­za­ta.
METHOD Mostra il modo in cui l’evento è trasmesso al de­sti­na­ta­rio. Esistono due tipi: con l’opzione PUBLISH, l’evento appare im­me­dia­ta­men­te, mentre con REQUEST l’ap­pun­ta­men­to viene trasmesso sotto forma di richiesta.
BEGIN:VEVENT Questa riga cor­ri­spon­de all’inizio della sezione con­te­nen­te i dati rilevanti dell’evento.
UID Ogni file ics e quindi ogni voce del ca­len­da­rio deve avere un iden­ti­fi­ca­to­re univoco.
LOCATION Qui è precisato il luogo dell’evento. Puoi definire li­be­ra­men­te quanto debba essere preciso.
SUMMARY Specifica un breve riassunto dell’evento.
DESCRIPTION In questo punto è fornita una de­scri­zio­ne det­ta­glia­ta, vi­sua­liz­za­ta solo all’apertura della voce.
CLASS Qui si specifica se l’evento debba essere salvato come pubblico (PUBLIC) o privato (PRIVATE).
DTSTART Indica l’orario di inizio dell’evento.
DTEND Specifica l’orario di fine dell’evento.
DTSTAMP La marca temporale contiene in­for­ma­zio­ni sul momento della creazione della voce del ca­len­da­rio.
END:VEVENT La penultima riga chiude la sezione delle in­for­ma­zio­ni sull’evento.
END:VCALENDAR Fine del file.

Seguono le in­di­ca­zio­ni temporali, anch’esse in un formato stan­dar­diz­za­to:

  • Le prime quattro cifre indicano l’anno (YYYY): 2019
  • Le prossime due il mese (MM): 201910
  • Le ultime due de­fi­ni­sco­no il giorno (DD): 20191027
  • La lettera T separa la data dall’ora: 20191027T

L’orario è composto da 6 cifre:

  • due per l’ora: 20191027T15
  • due per i minuti: 20191027T1559
  • due per i secondi: 20191027T155954
  • La lettera Z chiude la sezione relativa alla data: 20191027T155954Z

Nell’esempio seguente abbiamo compilato tutte le righe in base a queste in­di­ca­zio­ni.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:Cal_App//Daily@Planet
METHOD:PUBLISH
BEGIN:VEVENT
UID:123456789@example.com
LOCATION:Metropolis
SUMMARY:Meeting
DESCRIPTION:Kick-off Meeting
CLASS:PUBLIC
DTSTART:20191101T100000Z
DTEND: 20191101T120000Z
DTSTAMP: 20191027T155954Z
END:VEVENT
END:VCALENDAR
txt

Aprendo il file ogni de­sti­na­ta­rio può ora importare l’evento nel suo ca­len­da­rio e ricevere au­to­ma­ti­ca­men­te tutte le in­for­ma­zio­ni rilevanti, dal tipo di evento all’orario di inizio e fine. In questo modo il formato iCalendar ga­ran­ti­sce un risparmio di tempo, so­prat­tut­to nella vita pro­fes­sio­na­le.

In­te­gra­zio­ne di iCalendar nel front end

Invece di creare un file .ics, puoi rein­di­riz­za­re gli utenti di­ret­ta­men­te a un fornitore di ca­len­da­rio online come Google Calendar, Outlook.com o Yahoo Calendar tramite URL specifici. Questi link aprono nel browser del relativo servizio una nuova finestra “Aggiungi evento”, già pre­com­pi­la­ta con le in­for­ma­zio­ni su titolo, luogo, de­scri­zio­ne, ora di inizio e di fine.

<a href="https://calendar.google.com/calendar/render?action=TEMPLATE
&amp;text=Release%20Meeting
&amp;details=Status-Update%20%26%20Milestones
&amp;location=Remote%20(Google%20Meet)
&amp;dates=20251010T080000Z/20251010T090000Z
&amp;ctz=Europe/Rome"
target="_blank" rel="noopener">
Aggiungi a Google Calendar
</a>
html

Generare file .ics tramite codice

Di seguito trovi esempi di codice pratici che mostrano come generare file .ics con poche righe di codice. Tutti gli esempi creano un ap­pun­ta­men­to “Release-Meeting” il 15.10.2025, 10:00–11:00 Europe/Rome con ter­mi­na­zio­ni di riga corrette (CRLF) e un escaping semplice.

Esempio con PHP

Nel seguente esempio in PHP viene prima definita la funzione di supporto ics_escape(). Questa funzione assicura che i caratteri speciali come virgole, punti e virgola, backslash o in­ter­ru­zio­ni di riga vengano cor­ret­ta­men­te sot­to­po­sti a escape. Suc­ces­si­va­men­te, la struttura del file .ics viene definita in un array. Ogni riga rap­pre­sen­ta un attributo specifico della voce di ca­len­da­rio, ad esempio il titolo (SUMMARY), la de­scri­zio­ne (DESCRIPTION) o l’in­ter­val­lo di tempo (DTSTART, DTEND). implode("\r\n", [...]) unisce le singole righe in un blocco di testo.

Suc­ces­si­va­men­te seguono due comandi header() che informano il browser su come deve essere gestito il file:

  • Content-Type: text/calendar; charset=utf-8 indica che si tratta di un file di ca­len­da­rio nel formato iCalendar.
  • Content-Disposition: attachment; filename="event.ics" indica al browser di non mostrare sem­pli­ce­men­te il file nella finestra, bensì di salvarlo au­to­ma­ti­ca­men­te come download con il nome indicato.

Infine, con echo $ics viene re­sti­tui­to il testo as­sem­bla­to completo. Non appena lo script PHP (ad esempio event.php) viene aperto nel browser, parte il download del file event.ics, che può poi essere importato subito in Outlook, Google Calendar o Apple Calendar.

function ics_escape($s) {
    return str_replace(
        ["\\",    ";",    ",",    "\n"],
        ["\\\\","\\;", "\\,", "\\n"],
        $s
    );
}
$ics = implode("\r\n", [
    "BEGIN:VCALENDAR",
    "PRODID:-//example.com//ics-php//IT",
    "VERSION:2.0",
    "CALSCALE:GREGORIAN",
    "METHOD:PUBLISH",
    "BEGIN:VEVENT",
    "UID:event-123@example.com",
    "DTSTAMP:20251010T080000Z",
    "DTSTART;TZID=Europe/Rome:20251015T100000",
    "DTEND;TZID=Europe/Rome:20251015T110000",
    "SUMMARY:" . ics_escape("Release-Meeting"),
    "DESCRIPTION:" . ics_escape("Status-Update & Milestones"),
    "LOCATION:" . ics_escape("Remote (Google Meet)"),
    "END:VEVENT",
    "END:VCALENDAR",
    ""
]);
header('Content-Type: text/calendar; charset=utf-8');                // Informa il browser: "Questo è un file .ics"
header('Content-Disposition: attachment; filename="event.ics"'); // Avvia il download
echo $ics; // Invia il testo al browser
php

Esempio con Python

Anche qui, la funzione ics_escape() assicura che caratteri speciali come virgole, punti e virgola o in­ter­ru­zio­ni di riga vengano cor­ret­ta­men­te sot­to­po­sti a escape. Con datetime.now(timezone.utc) viene creata au­to­ma­ti­ca­men­te una marca temporale corrente (DTSTAMP) nel formato UTC. Le singole righe dell’evento, come il titolo (SUMMARY), vengono poi unite in un blocco di testo con "\r\n".join([...]). Le in­ter­ru­zio­ni di riga CRLF (\r\n) restano ob­bli­ga­to­rie nel formato ICS.

Infine, il comando Path("event-python.ics").write_text(ics, encoding="utf-8", newline="") scrive il contenuto come file UTF-8 nella directory corrente. Dopo l’ese­cu­zio­ne dello script, il file pronto event-python.ics è di­spo­ni­bi­le e può essere importato subito in Outlook, Google Calendar o nel ca­len­da­rio di Apple.

from datetime import datetime, timezone
from pathlib import Path
def ics_escape(s: str) -> str:
    return s.replace("\\", "\\\\").replace(";", "\\;").replace(",", "\\,").replace("\n", "\\n")
ics = "\r\n".join([
    "BEGIN:VCALENDAR",
    "PRODID:-//example.com//ics-python//IT",
    "VERSION:2.0",
    "CALSCALE:GREGORIAN",
    "METHOD:PUBLISH",
    "BEGIN:VEVENT",
    "UID:event-123@example.com",
    f"DTSTAMP:{datetime.now(timezone.utc):%Y%m%dT%H%M%SZ}",
    "DTSTART;TZID=Europe/Rome:20251015T100000",
    "DTEND;TZID=Europe/Rome:20251015T110000",
    f"SUMMARY:{ics_escape('Release-Meeting')}",
    f"DESCRIPTION:{ics_escape('Status-Update & Milestones')}",
    f"LOCATION:{ics_escape('Remote (Google Meet)')}",
    "END:VEVENT",
    "END:VCALENDAR",
    ""
])
Path("event-python.ics").write_text(ics, encoding="utf-8", newline="")
print("scritto: event-python.ics")
python

Esempio con Ja­va­Script

Il seguente codice Ja­va­Script genera il contenuto del ca­len­da­rio di­ret­ta­men­te nel browser. Per prima cosa, il testo iCalendar viene as­sem­bla­to nella variabile ics. La funzione icsEscape() assicura di nuovo che i caratteri speciali, come le virgole o le in­ter­ru­zio­ni di riga, vengano cor­ret­ta­men­te sot­to­po­sti a escape. Con Blob() viene creato dal testo un file virtuale in memoria. URL.createObjectURL() genera quindi un URL di download tem­po­ra­neo, che il browser tratta come un file reale.

Un elemento <a> in­vi­si­bi­le con l’attributo download viene generato di­na­mi­ca­men­te e attivato au­to­ma­ti­ca­men­te tramite a.click(): in questo modo parte il download del file event-browser.ics, senza che sia ne­ces­sa­ria una con­nes­sio­ne al server.

<button id="dl">scarica .ics</button>
<script>
function icsEscape(s){return s.replace(/\\/g,"\\\\").replace(/;/g,"\\;").replace(/,/g,"\\,").replace(/\n/g,"\\n");}
const ics = [
    "BEGIN:VCALENDAR",
    "PRODID:-//example.com//ics-browser//IT",
    "VERSION:2.0",
    "CALSCALE:GREGORIAN",
    "METHOD:PUBLISH",
    "BEGIN:VEVENT",
    "UID:event-123@example.com",
    "DTSTAMP:20251010T080000Z",
    "DTSTART;TZID=Europe/Rome:20251015T100000",
    "DTEND;TZID=Europe/Rome:20251015T110000",
    "SUMMARY:" + icsEscape("Release-Meeting"),
    "DESCRIPTION:" + icsEscape("Status-Update & Milestones"),
    "LOCATION:" + icsEscape("Remote (Google Meet)"),
    "END:VEVENT",
    "END:VCALENDAR",
    ""
].join("\r\n");
document.getElementById("dl").addEventListener("click", () => {
    const blob = new Blob([ics], { type: "text/calendar;charset=utf-8" }); // crea l’oggetto file
    const url = URL.createObjectURL(blob); // URL di download temporaneo
    const a = document.createElement("a");
    a.href = url;
    a.download = "event-browser.ics"; // nome del download
    document.body.appendChild(a);
    a.click(); // avvia il download
    a.remove();
    URL.revokeObjectURL(url); // pulizia
});
</script>
ja­va­script

Esempio con Node.js

Questo codice avvia un piccolo server web express che rende di­spo­ni­bi­le un file .ics di­ret­ta­men­te tramite il browser. Quando qualcuno richiama http://localhost:3000/event.ics, nell’handler app.get(...) viene generato il testo iCalendar e inviato al client.

La funzione icsEscape() fa sì, come negli altri esempi, che i caratteri speciali vengano cor­ret­ta­men­te sot­to­po­sti a escape. Con res.setHeader("Content-Type", "text/calendar; charset=utf-8") il server comunica al browser che si tratta di un file di ca­len­da­rio. L’header Cache-Control: public, max-age=300 consente ai client di me­mo­riz­za­re tem­po­ra­nea­men­te il file nella cache per 5 minuti.

res.send(ics) invia infine il file pronto di­ret­ta­men­te al browser, che lo scarica au­to­ma­ti­ca­men­te o lo apre con l’app Ca­len­da­rio. Il server poi viene eseguito in locale su http://localhost:3000/event.ics.

import express from "express";
const app = express();
function icsEscape(s){
    return s.replace(/\\/g,"\\\\").replace(/;/g,"\\;").replace(/,/g,"\\,").replace(/\n/g,"\\n");
}
app.get("/event.ics", (req, res) => {
    const ics = [
        "BEGIN:VCALENDAR",
        "PRODID:-//example.com//ics-node//IT",
        "VERSION:2.0",
        "CALSCALE:GREGORIAN",
        "METHOD:PUBLISH",
        "BEGIN:VEVENT",
        "UID:event-123@example.com",
        "DTSTAMP:20251010T080000Z",
        "DTSTART;TZID=Europe/Rome:20251015T100000",
        "DTEND;TZID=Europe/Rome:20251015T110000",
        "SUMMARY:" + icsEscape("Release-Meeting"),
        "DESCRIPTION:" + icsEscape("Status-Update & Milestones"),
        "LOCATION:" + icsEscape("Remote (Google Meet)"),
        "END:VEVENT",
        "END:VCALENDAR",
        ""
    ].join("\r\n");
    res.setHeader("Content-Type", "text/calendar; charset=utf-8"); // il browser riconosce il tipo MIME
    res.setHeader("Cache-Control", "public, max-age=300");                    // caching (5 minuti)
    res.send(ics); // invia la risposta
});
app.listen(3000, () => console.log("http://localhost/event.ics"));
ja­va­script

File .ics in diversi client di ca­len­da­rio

Anche se iCalendar è uno standard aperto, ogni ap­pli­ca­zio­ne di ca­len­da­rio in­ter­pre­ta i file .ics a modo suo. A seconda del sistema, ci sono dif­fe­ren­ze nel modo in cui gli ap­pun­ta­men­ti vengono importati, sin­cro­niz­za­ti e ag­gior­na­ti.

Google Calendar

In Google Calendar, gli utenti possono importare ma­nual­men­te i file .ics oppure abbonarsi a un feed del ca­len­da­rio tramite URL.

Durante l’im­por­ta­zio­ne, gli ap­pun­ta­men­ti contenuti vengono tra­sfe­ri­ti una sola volta nel ca­len­da­rio se­le­zio­na­to. Le modifiche che ap­por­te­rai in seguito al file sul tuo server non verranno recepite au­to­ma­ti­ca­men­te. Google tratta quindi questa opzione come un’istan­ta­nea.

Funziona in modo leg­ger­men­te diverso l’ab­bo­na­men­to tramite URL, di­spo­ni­bi­le solo nella versione web di Google Calendar. Qui selezioni “Altri calendari” -> “Aggiungi tramite URL” e inserisci l’indirizzo internet di un file .ics, per esempio https://example.com/calendar.ics. Google recupera quindi questo file a in­ter­val­li regolari, di solito ogni 12-24 ore, e aggiorna au­to­ma­ti­ca­men­te gli ap­pun­ta­men­ti, se qualcosa è cambiato. È im­por­tan­te sapere che Google non accetta link webcal://. Se vuoi offrire sul tuo sito web un link di ab­bo­na­men­to, dovresti invece collegare la versione HTTPS dell’URL.

Ca­len­da­rio di Apple

Il ca­len­da­rio di Apple supporta il formato iCalendar (.ics) in modo par­ti­co­lar­men­te completo e comodo. Quando gli utenti scaricano un file .ics o lo aprono per e-mail, il sistema lo riconosce au­to­ma­ti­ca­men­te e chiede in quale ca­len­da­rio importare gli ap­pun­ta­men­ti. Anche in questo caso si tratta ini­zial­men­te di un’im­por­ta­zio­ne una tantum, che in seguito non viene ag­gior­na­ta au­to­ma­ti­ca­men­te.

Molto più potente è però la funzione di ab­bo­na­men­to, che Apple supporta di­ret­ta­men­te tramite lo schema webcal://. Se sul tuo sito web offri quindi un link come webcal://example.com/calendar.ics, facendo clic si apre au­to­ma­ti­ca­men­te la finestra di dialogo del ca­len­da­rio con la domanda se vuoi abbonarti al ca­len­da­rio. Un ca­len­da­rio sot­to­scrit­to in questo modo viene poi sin­cro­niz­za­to au­to­ma­ti­ca­men­te: per im­po­sta­zio­ne pre­de­fi­ni­ta ogni poche ore. Le modifiche agli ap­pun­ta­men­ti esistenti (stessa UID, nuovo DTSTAMP) vengono recepite cor­ret­ta­men­te, mentre le voci eliminate scom­pa­io­no dopo il suc­ces­si­vo ag­gior­na­men­to.

Outlook

Anche Microsoft Outlook può sia importare una sola volta i file .ics sia abbonarsi a essi. Se un file .ics viene aperto con un doppio clic o importato ma­nual­men­te, Outlook aggiunge sem­pli­ce­men­te gli ap­pun­ta­men­ti contenuti al ca­len­da­rio se­le­zio­na­to. Questi ap­pun­ta­men­ti sono quindi statici: le modifiche suc­ces­si­ve sul server non hanno effetto.

Durante l’ab­bo­na­men­to, Outlook si comporta in modo simile al ca­len­da­rio di Apple: gli utenti possono inserire l’URL del feed in “Apri ca­len­da­rio” -> “Da Internet” (ad esempio https://example.com/calendar.ics oppure webcal://...). Outlook si abbona a questo ca­len­da­rio e lo sin­cro­niz­za au­to­ma­ti­ca­men­te a in­ter­val­li regolari. L’in­ter­val­lo è in genere compreso tra 30 minuti e 3 ore, ma può anche ri­chie­de­re più tempo.

Outlook.com (cioè la versione web) funziona tec­ni­ca­men­te in modo simile, ma con gli ag­gior­na­men­ti a volte è ancora più lento dell’app desktop.

Vai al menu prin­ci­pa­le