Neues Modul: 57_GCALVIEW Google Kalender Viewer (+Abfall Kalender)

Begonnen von mumpitzstuff, 04 Oktober 2017, 00:02:11

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Habs mal eingecheckt. Ich hatte wohl einfach zu viel auskommentiert wie es scheint. Der Code selbst war tatsächlich bereits vorhanden. Wäre schön, wenn ihr es kurz verifizieren könntet.

blasterx

Ich habe heute einen neuen Kalender in Google angelegt um ihn dann in Fhem zu nutzen bzw angezeigt zu bekommen habe ich die gcalcli_cache und gcalcli_oauth gelöscht und dann mittels
sudo -u fhem gcalcli --noauth_local_webserver list
die erhaltene URL habe ich in dem Browser eingegeben da bekam ich die Meldung
"Die Anmeldung mit Google ist für diese App vorübergehend deaktiviert
Die Verwendung von Google Log-in wurde für diese App noch nicht bestätigt."
Ist das Problem bekannt?

Gruß BlasterX
Gruß-BlasterX


blasterx

Nein leider nicht. Das Problem scheint bei mehreren Programmen aufzutreten :(

Gruß BlasterX
Gruß-BlasterX

DerTom

Hallo,

allen eine frohe Weihnacht!!

Ich habe das Problem seit gestern auch nach einer neuen Authentifizierung. Aber etwas anders als blasterx.

ZitatIch habe heute einen neuen Kalender in Google angelegt um ihn dann in Fhem zu nutzen bzw angezeigt zu bekommen habe ich die gcalcli_cache und gcalcli_oauth gelöscht und dann mittels
Code: [Auswählen]
sudo -u fhem gcalcli --noauth_local_webserver list

Danach bekam ich den Verification Code von Google. Habe den in die Konsole eingegeben. Auth successful. Wenn ich dann im FHEM den Kalender updaten will kommt im Log die Meldung:
2019.12.25 10:42:56.423 3: Muellkalender blocking call already running
2019.12.25 10:42:59.871 3: Muellkalender: export PYTHONIOENCODING=utf8 && gcalcli agenda 12/25/2019 01/24/2020 --configFolder /opt/fhem --calendar "Müll" --details calendar --details url --details location --details description --details email  --tsv
2019.12.25 10:42:59.872 3: Muellkalender: something went wrong (check your parameters) - Failed to start a local webserver listening on either port 8080
or port 9090. Please check your firewall settings and locally
running programs that may be blocking or using those ports.

Falling back to --noauth_local_webserver and continuing with
authorization.

Go to the following link in your browser:

    https://accounts.google.com/<link skipped>

Enter verification code: Traceback (most recent call last):
  File "/usr/bin/gcalcli", line 2649, in <module>
    BowChickaWowWow()
  File "/usr/bin/gcalcli", line 2495, in BowChickaWowWow
    gcal.AgendaQuery(startText=args[1], endText=args[2])
  File "/usr/bin/gcalcli", line 1732, in AgendaQuery
    eventList = self._SearchForCalEvents(start, end, None)
  File "/usr/bin/gcalcli", line 1631, in _SearchForCalEvents
    work = self._CalService().events().\
  File "/usr/bin/gcalcli", line 696, in _CalService
    http=self._GoogleAuth())
  File "/usr/bin/gcalcli", line 685, in _GoogleAuth
    storage, args)
  File "/usr/local/lib/python2.7/dist-packages/oauth2client/util.py", line 137, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/oauth2client/tools.py", line 222, in run_flow
    code = input('Enter verification code: ').strip()
EOFError: EOF when reading a line


Das habe ich doch aber schon gemacht? Hat jemand einen Tipp?


mumpitzstuff

Vermutlich nicht für den fhem User sondern z.b. für den Pi User? Schau doch mal ob das oauth Verzeichnis neu unter /opt/fhem erstellt wurde und die Rechte stimmen.
Was passiert, wenn du das in einer Shell machst:

sudo -u fhem gcalcli list

DerTom

Zitat von: mumpitzstuff am 25 Dezember 2019, 22:10:58
Schau doch mal ob das oauth Verzeichnis neu unter /opt/fhem erstellt wurde und die Rechte stimmen.

Wurde nicht erstellt. War aber auch kein Verzeichnis, sondern eine Datei.

Zitat
Was passiert, wenn du das in einer Shell machst:
sudo -u fhem gcalcli list
Als Ausgabe kommt diese Meldung:

root@cubietruck:/opt/fhem# sudo -u fhem gcalcli list
Access  Title
------  -----
  owner  Müll
  owner  xxxxx@gmail.com
reader  Feiertage in Deutschland
reader  Week Numbers


mumpitzstuff

Du gibst als configFolder /opt/fhem an, aber hier befindet sich anscheinend nicht die benötigte Datei. Irgendwo anders muss sie aber existieren, sonst würden ja die Kalender nicht ausgegeben werden können. Kannst du mal das configFolder aus deinem Device entfernen?


DerTom

#413
Na super, wenn ich configFolder entferne, gehts...

Ich habe in der geamten Ordnerstruktur auf dem Cubie keine Datei oder einen Ordner mit dem Namen "oauth" gefunden. 

jle

Zitat von: blasterx am 01 Dezember 2019, 20:10:05
Ich habe heute einen neuen Kalender in Google angelegt um ihn dann in Fhem zu nutzen bzw angezeigt zu bekommen habe ich die gcalcli_cache und gcalcli_oauth gelöscht und dann mittels
sudo -u fhem gcalcli --noauth_local_webserver list
die erhaltene URL habe ich in dem Browser eingegeben da bekam ich die Meldung
"Die Anmeldung mit Google ist für diese App vorübergehend deaktiviert
Die Verwendung von Google Log-in wurde für diese App noch nicht bestätigt."
Ist das Problem bekannt?

Gruß BlasterX

Hallo Alle,
gibts hierfür eigentlich schon einen Lösungsansatz?
Ich habe ein paar Sachen aktualisiert und bekomme nun seit ein paar Tagen den selben Fehler.

gcalcli Version 4.0.4
in /opt/fhem liegen nach wie vor die .gcalcli_cache und .gcalcli_oauth Dateien.

Führe ich den List - Befehl aus, kommen alle Kalender fehlerfrei raus.

pi@raspberrypi:/opt/fhem $ sudo -u fhem gcalcli list
Access  Title
------  -----
  owner  xxxxxx
  owner  work
reader  FlexR
reader  Contacts
reader  Feiertage in Deutschland
reader  Week Numbers
pi@raspberrypi:/opt/fhem $


Führe ich jedoch den Agenda-Befehl aus, kommt, daß ich mich (neu?) authentifizieren muss:

pi@raspberrypi:/opt/fhem $ sudo -u fhem gcalcli --noauth_local_webserver agenda

Go to the following link in your browser:

    https://accounts.google.com/o/oauth2/v2/auth? ..... .googleusercontent.com&access_type=offline

Enter verification code:


Wenn ich auf den Link klicke und mit bei Google einlogge, bekomme ich den bereits zitierten Fehler ,, Die Anmeldung mit Google ist für diese App vorübergehend deaktiviert
Die Verwendung von Google Log-in wurde für diese App noch nicht bestätigt."

Hat jemand eine Idee was ich probieren könnte oder woran es liegt?
Bis vor kurzem hat es eigentlich wunderbar funktioniert.

Danke!

mumpitzstuff

Taucht in deinem Google Account gcalcli bei den Drittanbieter Apps mit Kontozugriff auf? Was passiert, wenn du nur das aufrufst?

sudo -u fhem gcalcli agenda


jle

Ja, im Google Konto tauchte es auf. Hab es heute morgen mal zum Testen entfernt, dachte vielleicht liegt es daran. Jetzt ist es nicht mehr da  :(

Aber sowohl gestern Abend, als gcalcli noch in meinem Google Konto aufgeführt war, sowie jetzt wo es nicht mehr da ist, kommen die selben Fehlermeldungen.
Hier der Agenda ohne —noauth..


pi@raspberrypi:/opt/fhem $ sudo -u fhem gcalcli agenda

Your browser has been opened to visit:

    https://accounts.google.com/o/oauth2/v2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar&redirect_uri=ht.... .apps.googleusercontent.com&access_type=offline

If your browser is on a different machine then exit and re-run this
application with the command-line parameter

  --noauth_local_webserver



Komischerweise geht der List Befehl aktuell immernoch obwohl ich im Google Account den gcalcli entfernt habe.

Habe auch mal zwischenzeitlich die .gcalcli_cache und .gcalcli_oauth umbenannt.
List geht dann natürlich auch nicht mehr, aber Google erlaubt die Authentifizierung leider dennoch nicht..

mumpitzstuff

Schwierig. Im Internet findet man ziemlich viele, die ebenfalls ein solches Problem haben. Leider hat keiner eine Lösung dafür...

Schau mal auf der gcalcli Seite nach den Python Bibliotheken und prüf mal, ob du die bei dir aktualisieren kannst.

https://github.com/insanum/gcalcli

Ansonsten ist auf der Seite auch noch ein anderer Weg beschrieben die Authentifizierung durchzuführen. Vielleicht führt die ja zum Erfolg.

Was passiert, wenn du als Pi User die Authentifizierung durchzuführen versuchst?

jle

Oh danke für den Tipp, hab es nun hinbekommen.

Vorweg: das Problem dürften tatsächlich alle bekommen, die eine Änderung an den Kalendern oder an der Verbindung machen, z.B. Neu-Installation oder Upgrade (wie bei mir)..

Denn offensichtlich zertifiziert Google nach und nach sämtliche Applikationen die auf den Google-Login zurückgreifen. Dafür muss der App-Entwickler (hier von gcalcli) bei Google einen entsprechenden Zertifizierungsantrag stellen. Nach positiver Prüfung von Google wird die App dann (wieder) zugelassen.

Der gcalcli-Entwickler schreibt zu einem entsprechendem Git-Issue, daß er dies bereits Mitte Nov.2019 eingereicht hat, allerdings kann es lt. Google einige Wochen dauern, bis das geprüft ist. Siehe hier: https://github.com/insanum/gcalcli/issues/497#issuecomment-554433146

Als ,,Workaround" kann man solange bei Google eine eigene App in der Developer Console anmelden, dafür dann eine Client-Id und ein Client-Secret erstellen und im file .gcalclirc hinterlegen.
Danach Authentifizierung wie gewohnt. Dabei wird dann die Authentifizierung nicht für gcalcli sondern die ,,eigene App" gemacht, wo man bei der Meldung ,,App nicht von Google zertifiziert" eine Ausnahme Regel quittieren kann.

Solange wie gcalcli nicht offiziell von Google zertifiziert ist, scheint dies der einzige Weg zu sein.
Mit ,,eigene App anmelden" hört sich erstmal kompliziert an, ist aber sehr schnell erledigt.
Hier ist eine detaillierte Anleitung dazu. Hat bei mir nur 5 min gedauert..
https://github.com/insanum/gcalcli#login-information


Viele Grüße

mumpitzstuff