Calendar mit NextCloud HTTP Err 403 (permitted)

Begonnen von Peedy, 26 Dezember 2020, 18:59:22

Vorheriges Thema - Nächstes Thema

Peedy

Hallo, hoffentlich kann mir jemand helfen ...

Nextcloud 18.0.10
FHEM heute zur Sicherheit update gefahren ...

ich hab einen App-Account für den User erstellt. da alle User-Logins per 2FA abgesichert sind.
define NC_SmartHome Calendar ical url https://Testuser:X87ea-FggPb-4aNA4-jAAk8-mRobo@my.domain.org/remote.php/dav/calendars/Testuser/smarthome?export 86400

Log:
Zitat2020.12.26 18:35:19 1: Calendar NC_SmartHome: retrieval failed with HTTP response code 403
2020.12.26 18:35:19 1: Calendar NC_SmartHome: retrieved no or empty data

Ich hab's auch mal ohne ?export versucht ...
Eine mit wget gezogene Datei mit der selben URL funktioniert mit Calendar.
Auch Chromium und Firefox ziehen die ics-Datei ohne Beanstandung.

Das Zertifikat der original TLD ist fehlerfrei.
das Perl-SSL Modul ist per Paketmanager installiert. Zur Fehlersuche hatte ich es nochmal per CPAN installiert.

Auch ein Publicshare als Abonnement-Link hab ich ausprobiert. Dieses wäre mir noch viel lieber, da dies keine Sideby-Anmeldung zu 2FA benötigt.

https://my.domain.org/remote.php/dav/public-calendars/c6HCTyMpcfQkYf94?export

Alle Versuche enden im Log mit HTTP response code 403 :-(


Gruß ... Peedy

Peedy

Wenn sich ein Developer dem Problem annehmen will, kann ich auch ein public-share Testlink als PM zukommen lassen.

Peedy

Zwar kann ich noch immer nicht meinen NC-Kalender direkt abfragen, aber über einen Umweg geht es dann sogar mit einem Publicshare.
Dieser benötigt keinen Account und stellt somit eine höhere Sicherheit zu NC dar. So stehen bei einem Hack von FHEM keine NC-Accountdaten zur Verfügung.

Workaround:
define NC_SmartHome_init at +00:00:00 "wget https://meine.domian.org/remote.php/dav/public-calendars/c8HCTyMpcfQkYf94/?export -O SmartHome.ics"

define NC_SmartHome_pull at +*00:05:00 "wget https://meine.domain.org/remote.php/dav/public-calendars/c8HCTyMpcfQkYf94/?export -O SmartHome.ics"

define NC_SmartHome Calendar ical file SmartHome.ics 300

Hinweis: erstellt einen Share des NC-Kalenders, öffnet den öffentlichen Link und kopiert dort die Linkadresse vom Download.
Da alles auf meinem lokalen Server ist und ich auch kurzfristig Kalendereinträge aktivieren möchte, sind meiner Meinung nach eine Aktualisierung von 5 Minuten in Ordnung.

Kann es sein, das beim calendar Modul der Link wegen webdav nicht geht?

Gruß ... Peedy

kamp

#3
Hallo,

ich habe auch hier ein Problem - Nextcloud geht nicht. Hat jemand einen Lösungsansatz ohne den hier beschriebenen Workaround?

Allerdings andere Fehlermeldung:

2021-04-30 17:42:34 Calendar Kalender error (<hidden>: wrong authentication)
2021-04-30 17:42:34 Calendar Kalender error (no or empty data)

kamp

Ich wollte nur mal nachfragen, gibt es hier jemanden, der das mit Nextcloud geschafft hat? Ich habe es bis jetzt leider noch nicht geschafft - erhalte immer die selbe Meldung. Wenn ich die URL die ich im Calendar-Modul definiert habe in den Browser kopiere, erhalte ich ein ca 2 MB großes ics-File, welches sich z.B. in Outlook korrekt importieren lässt.

betateilchen

Also zumindest mit der öffentlichen Kalenderadresse funktioniert das bei mir problemlos ohne Benutzerdaten.

defmod nc_test Calendar ical url https://<serverURL>/remote.php/dav/public-calendars/WEjxBcnGeXbCb8RM/?export

liefert im FHEM Log:


2021.10.24 16:43:05 4: Calendar nc_test: Updating...
2021.10.24 16:43:05 4: Calendar nc_test: Getting data from URL <hidden>
2021.10.24 16:43:06 5: Calendar nc_test: HTTP response code 200
2021.10.24 16:43:06 4: Calendar nc_test: parsing data asynchronously (PID= 23388)
2021.10.24 16:43:06 5: Calendar nc_test: control passed back to main loop.
2021.10.24 16:43:07 4: Calendar nc_test: got result from asynchronous parsing.
2021.10.24 16:43:07 4: Calendar nc_test: asynchronous parsing finished.
2021.10.24 16:43:07 4: Calendar nc_test: merging data
2021.10.24 16:43:07 4: Calendar nc_test: 1 records processed, 1 new, 0 known, 0 modified, 0 changed.
2021.10.24 16:43:07 4: Calendar nc_test: creating calendar events
2021.10.24 16:43:07 4: Calendar nc_test: events for 0 records cleared, events for 1 records created.
2021.10.24 16:43:07 4: Calendar nc_test: Checking times...
2021.10.24 16:43:08 4: Calendar nc_test: process ended.


und "get nc_test vevents" liefert


1: VEVENT @26 [new]
    CREATED: 20211024T144120Z
    DTEND: 20211024T180020
    DTSTAMP: 20211024T144129Z
    DTSTART: 20211024T170020
    LAST-MODIFIED: 20211024T144129Z
    SEQUENCE: 2
    STATUS: CONFIRMED
    SUMMARY: test
    UID: e49e707f-a952-4787-91cd-225be08fa7e3
    >>> Events:
      e49e707fa952478791cd225be08fa7e3    upcoming                     24.10.2021 17:00-24.10.2021 18:00 test   
    >>> Skipped events:

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

kamp

Hallo,

nach dem gefühlten 100. lesen der Commandref bin ich auf folgendes gestoßen:
ZitatDie Auswertung von wildcards kann bei Bedarf fü einen Kalender deaktiviert werden, indem das Schlüsselwort 'noWildcards' dem Attribut 'quirks' hinzugefügt wird. Das ist nützlich bei url die bereits ein % enthalten, ohne damit ein wildcard zu kennzeichnen.

Nun, da das Passwort Sonderzeichen enthält, die ich urlencoded habe (und damit % enthält), war das der entscheidende Fehler in der Konfiguration. nachdem ich beim Attribut "quirks" den Wert "noWildcards" hinzugefügt habe, ist es mir endlich gelungen auf den Kalender zuzugreifen - hoffe das hilft jemanden in Zukunft evtl.