.ics Dateien in Go generieren

10. November 2020 von Jonas Kwiedor

Du suchst nach einer Möglichkeit .ics Dateien in GO zu generieren, weil du gerne in deinem Programm diese zum Download anbieten willst?

Wir haben für ein Projekt dafür eine Möglichkeit gesucht, aber leider keine Library gefunden, die dies in GO lang unterstützt. Deshalb haben wir mal einen Termin erstellt und diesen exportiert.

Dabei ist uns aufgefallen, dass es eigentlich nur eine Textbasierte Datei ist, die mit bestimmten Metadaten wie DTSTART, DTEND, Summary, Description und noch einigen mehr versehen ist.

Im nächsten Schritt haben wir etwas getestet und mithilfe von ioutil und der time library eine kleine Hilfestellung gebaut, die es uns erlaubt mit einer Funktion eine .ics. Datei zu erstellen.

Unsere kleine Library könnt ihr wie folgt importieren:

import "github.com/jojojojonas/ics-creator"

Und dann könnt ihr eine .ics Datei wie folgt generieren:

create, err := ics.Create(ics.Options{
     "./termin.ics",
     ics.Dates{"11.11.2020", "23:15:00"},    
     ics.Dates{"11.11.2020", "23:45:00"},
     "Updates Hilfe bei der Website",
     "Get some updates done!"
})

Das ganze findet ihr bei Github. Es kommen in Zukunft natürlich noch ein paar Verbesserungen. Bei Fragen schreibt uns gerne an info@hilfebeiderwebsite.de

Über den Autor:

Jonas Kwiedor

Jonas Kwiedor

Full-Stack Developer

Jan Droste

Jan Droste

Kommunikation & Vertrieb