Zugriff auf und Änderung von Kalenderdaten in Nextcloud

Problem/Fehler/Frage beschreiben

Nachdem wir von Microsoft zu Nextcloud gewechselt haben, haben wir versucht, einen Workflow mit n8n einzurichten, um Outlook-/Teams-Kalender mit unserem Nextcloud Calendar (die empfohlene App) zu synchronisieren, und stoßen auf das folgende Problem:
Um Ereignisse aus unseren Nextcloud-Kalendern zu lesen und zu schreiben, ist die einzige Option, die wir kennen, die Verwendung von HTTP-Anfragen mit Basic Auth, was etwas unpraktisch wirkt, da es erforderlich wäre, die Anmeldedaten jedes Benutzers zu sammeln.
Ist jemandem bekannt, wie man dieses Problem umgehen kann? Zum Beispiel ein Administrator-Benutzer, der Lese-/Schreibberechtigungen für Kalender anderer Benutzer hat?
Mit freundlichen Grüßen,
Frederic

Was ist die Fehlermeldung (falls vorhanden)?

Bitte teilen Sie Ihren Workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Ausgabe des letzten Knotens teilen

Informationen zu Ihrem n8n Setup

  • n8n-Version:
  • Datenbank (Standard: SQLite):
  • n8n EXECUTIONS_PROCESS-Einstellung (Standard: own, main):
  • n8n wird ausgeführt über (Docker, npm, n8n cloud, Desktop-App):
  • Betriebssystem:

Hallo @FredericDomke Willkommen!
Zwei separate Punkte hier. Erstens bedeutet Basic Auth für CalDAV nicht, dass Anmeldekennwörter von Benutzern gesammelt werden: Nextcloud-App-Passwörter sind Pro-Benutzer-, Pro-Geräte-Token, die unter Persönliche Einstellungen > Sicherheit > Geräte & Sitzungen erstellt werden, und sie authentifizieren sich über Basic Auth genau wie ein normaler CalDAV-Client. Sie sind einzeln widerrufbar und geben niemals das Kontokennwort preis, daher ist das die sichere Form dessen, was du bereits tust. Der Calendar-Endpunkt ist der DAV-Pfad, nicht der Nextcloud-Knoten (der nur Dateien und Benutzer abdeckt): https://your-nextcloud/remote.php/dav/calendars///

Zweitens gibt es keine integrierten Admin-Anmeldedaten, die transparent die persönlichen Kalender aller Benutzer lesen und schreiben. Die unterstützte Methode, dies von einer einzelnen Anmeldedaten aus auszuführen, ist Kalenderfreigabe für ein Service-Konto:

  1. Erstelle einen dedizierten Nextcloud-Benutzer, z. B. n8n-sync.
  2. Lasse jeden Benutzer seinen Kalender mit n8n-sync teilen und aktiviere „kann bearbeiten