Gelöst Kalendereinträge per REST abrufen
-
Hi, bin neu hier ...
Wir möchten unsere Veranstaltungen komplett in CT pflegen (CT is the "single source of truth") und diese dann für verschiedene Medien (print, online usw.) weiter verarbeiten.
Ich kann die Events auslesen und denke, da finde das meiste. Es gibt aber Veranstaltungen für die nicht jedes mal eine Event angelegt wird.
Also muss ich auch Kalendereinträge auslesen und dabe die wieder rausfiltern, für die ich schon einen Event gelesen habe. Im Forum habe ich gelesen, dass die EventId für einen Kalendereintrag nicht über eine API gelesen werden kann.
Ich habe einen Forumseintrag gefunden ... Frage zu einem API-Call des Kalenders
Mir scheint, da hat sich noch nichts getan. Gibt es vielleicht eine Planung bis wann sowas kommt?
Oder hat jemand schon eine ähnliche Funktion bei der ich abschreibe kann?
-B
-
@bwl21 eine Ergänzung:
/Events liefert nur Events bei denen auch ein Dienst eingetragen ist. Daraus schließe ich, dass ich sowohl Events als auch Kalenderienträge lesen muss. Leider enthält der Event auch keinen Verweis auf den Kalendereintrag.
Ich habe es bislang nicht hinbekommen, mit dem AJAX - API überhaupt Kalendereinträge zu bekommen.
Was kann ich nun tun?
-
So, nun schreibe ich noch eine Anmerkung, obwohl es hier ja relativ ruhig zugeht und ich etwas die Hoffnung verliere, hier wirklich Hilfe zu bekommen.
Ist das REST - API überhaupt geeignet für mein anliegen. Es werden z.b. abgesagte Events nicht mehr übertragen - damit habe ich keine Möglichkeit abgesagte Events auch in nachgeschalteten Systemen abzusagen.
Ich kann mir kaum vorstellen, dass ich der einzige bin, der einen stabilen Export von Events braucht. Schliesslich geben wir substantiell Geld aus für CT da wollen wir es auch optimal nutzen können.
-
Kann man die Kalendereinträge nicht aus einem abonnierten iCal auslesen? Also wenn es wirklich "nur" um die Weitergabe der Termine an andere Medien geht? Die REST API von CT kann halt bis jetzt nur die Templates bearbeiten etc. Da wird mit der Zeit sicher mehr kommen, nur hatte das Entwicklerteam im Rahmen von Corona etc. andere Prioritäten wie die Gruppenhomepages.
-
@DJSudermann ja, das habe ich auch schon überlegt. Aber ich sehe nicht wie Event und kalender verknüpfen kann.
Wir wollen ja auch Informationen aus den ablaufplänen einbeziehen.
-
Die neue REST-API kann noch keine Kalendereinträge lesen.
Dafür müsstest du die alte API nutzen. Da gibt es die Funktion
getCalPerCategory
über die aktuell das Frontend die Kalendereinträge bekommt.Hiermal ein Curl Beispiel wie das aussehen kann:
curl 'https://testdavid.church.tools/index.php?q=churchcal/ajax' \ -H 'content-type: application/x-www-form-urlencoded; charset=UTF-8' \ --data-raw 'func=getCalPerCategory&category_ids%5B0%5D=5&category_ids%5B1%5D=6' \
Da fehlt natürlich noch der Login.
-
@davidschilling Das Abrufen der Kalendereinträge über REST API wäre für uns auch interessant. Habt ihr das auf eurer Agenda bzw. kannst du sagen, bis wann das implementiert sein würde? Danke! lg Johann
-
Generell ist das Ziel alles über die neuen REST-Apis machen zu können.
Wann wir zur Kalenderapi kommen kann ich dir aber aktuell nicht sagen. -
@davidschilling leider kriege ich das nicht zum laufen. gibt es irgendwo ein komplettes Beispiel?
Bei mir kommt immer nur ein leeres ergebnis zurück.Kann ich mich da mit dem gleichen Accesstoken authentifzieren wie beim REST API?
Wenn es problematisch ist, das REST-API gleich richtig zu machen, könntet ihr einen Adapter realisieren, so dass sich nicht mit zwei API-technologien rumschlagen müsste.
-
@bwl21 welche Programmiersprache benutzt du denn? Hier gibt es z.B. eine Bibliothek für PHP: https://github.com/vineyardkoeln/churchtools-api
-
@davidschilling ich verwende PHP. An die Einbindung der Vinyard - API hab ich mich noch nicht getraut, weil ich hoffte mit etwas leichtgewichtigerem hinzukommen.
Ich integriere die Scripte in Contao, schreibe aber keine Extension sondern rufe nur einzelne Scripte auf. Da ich mich mit composer nicht auskenne, mach ich noch einen bogen um so solche Bibliotheken, die ich (vermutlich zu Unrecht) als schwergewichtig empfinde.