Erreur lors de l'exécution de la commande : get_master_token

Bonjour,

suite à installation du plugin, installation des dépendances, fourniture de mon compte, sauvegarde puis clic sur ‹ Première connexion ›, j’obtiens le « WARNING » dans le log Gkeep (qui ressemble plutôt à une « ERROR » étant donné que le plugin ne peut fonctionner) :
Erreur lors de l'exécution de la commande : --username ****@gmail.com get_master_token --password ****

L’installation des dépendances indique être OK avec le contenu ci-dessous pour le log Gkeep-update :

********************************
*Launch install of dependencies*
********************************
Sat Jul 29 13:12:41 CEST 2023
Hit:1 http://deb.debian.org/debian buster InRelease
Hit:2 http://deb.debian.org/debian buster-updates InRelease
Hit:3 http://deb.debian.org/debian buster-backports InRelease
Hit:4 http://security.debian.org/debian-security buster/updates InRelease
Hit:5 https://download.docker.com/linux/debian buster InRelease
Hit:6 https://deb.nodesource.com/node_14.x buster InRelease
Reading package lists...
*****************************
Install modules using apt-get
*****************************
Reading package lists...
Building dependency tree...
Reading state information...
python3-pip is already the newest version (18.1-5).
python3-setuptools is already the newest version (40.8.0-1).
python3 is already the newest version (3.7.3-1).
python3-venv is already the newest version (3.7.3-1).
python3-requests is already the newest version (2.21.0-1+deb10u1).
The following packages were automatically installed and are no longer required:
libev4 libuv1 libwebsockets8
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 298 not upgraded.
*************************************
Creating python 3 virtual environment
*************************************
Done
*************************************
Install the required python libraries
*************************************
Requirement already satisfied: pip in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (23.2.1)
Requirement already satisfied: wheel in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (0.41.0)
Requirement already satisfied: urllib3<2 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (1.26.16)
Requirement already satisfied: gkeepapi in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (0.13.7)
Requirement already satisfied: future>=0.16.0 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from gkeepapi) (0.18.3)
Requirement already satisfied: gpsoauth>=0.4.1 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from gkeepapi) (0.4.3)
Requirement already satisfied: six>=1.11.0 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from gkeepapi) (1.16.0)
Requirement already satisfied: pycryptodomex>=3.0 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from gpsoauth>=0.4.1->gkeepapi) (3.18.0)
Requirement already satisfied: requests in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from gpsoauth>=0.4.1->gkeepapi) (2.31.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from requests->gpsoauth>=0.4.1->gkeepapi) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from requests->gpsoauth>=0.4.1->gkeepapi) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from requests->gpsoauth>=0.4.1->gkeepapi) (1.26.16)
Requirement already satisfied: certifi>=2017.4.17 in /var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages (from requests->gpsoauth>=0.4.1->gkeepapi) (2023.7.22)
*********************************
Get version of installed packages
*********************************
Python 3.7.3
Package            Version
------------------ ---------
certifi            2023.7.22
charset-normalizer 3.2.0
future             0.18.3
gkeepapi           0.13.7
gpsoauth           0.4.3
idna               3.4
pip                23.2.1
pkg_resources      0.0.0
pycryptodomex      3.18.0
requests           2.31.0
setuptools         40.8.0
six                1.16.0
urllib3            1.26.16
wheel              0.41.0
Sat Jul 29 13:13:06 CEST 2023
***************
*Install ended*
***************

Sinon, ci-dessous le contenu complet du log Gkeep suite à clic sur ‹ Première connexion › :

[2023-07-29 13:20:51]DEBUG : Commande envoyée : sudo /var/www/html/plugins/gkeep/core/class/../../resources/venv/bin/python3 /var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py  --username ****@gmail.com get_master_token --password ****
[2023-07-29 13:20:52]DEBUG : Résultat brut Traceback (most recent call last):   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 902, in      main()   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 786, in main     manager.get_master_token(args.username, args.password)   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 61, in get_master_token     success = keep.login(self.username, password)   File "/var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages/gkeepapi/__init__.py", line 695, in login     ret = auth.login(username, password, device_id)   File "/var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages/gkeepapi/__init__.py", line 60, in login     res.get('Error'), res.get('ErrorDetail') gkeepapi.exception.LoginException: ('NeedsBrowser', 'To access your account, you must sign in on the web. Touch Next to start browser sign-in.')
[2023-07-29 13:20:52]DEBUG : sendCmdAndFormatResult : Résultat brut Traceback (most recent call last):   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 902, in      main()   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 786, in main     manager.get_master_token(args.username, args.password)   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 61, in get_master_token     success = keep.login(self.username, password)   File "/var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages/gkeepapi/__init__.py", line 695, in login     ret = auth.login(username, password, device_id)   File "/var/www/html/plugins/gkeep/resources/venv/lib/python3.7/site-packages/gkeepapi/__init__.py", line 60, in login     res.get('Error'), res.get('ErrorDetail') gkeepapi.exception.LoginException: ('NeedsBrowser', 'To access your account, you must sign in on the web. Touch Next to start browser sign-in.')
[2023-07-29 13:20:52]INFO : sendCmdAndFormatResult : Résultat array null
[2023-07-29 13:20:52]WARNING : Erreur lors de l'exécution de la commande :  --username ****@gmail.com get_master_token --password ****

Ayant l’authentification en 2 étapes d’activée sur mon compte Google, j’ai créé et utilisé un mot de passe d’application.

Ci-dessous le résultat d’une commande demandée d’executer dans un autre topic :

sudo python3 /var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py --username ****@gmail.com save_master_token --password ****
Traceback (most recent call last):
  File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 9, in <module>
    import gkeepapi
ModuleNotFoundError: No module named 'gkeepapi'

Ai-je un problème par rapport à l’authentification en 2 étapes ? Un problème liée à ma version python3 ? Un problème de virtual environment python ? Un autre problème ?

Bonjour.

Voilà le problème.
Jamais vu ca encore.

Tu n’as pas utilisé python3 de la venv, mais pais pas grave j’ai l’info qu’il faut au-dessus.

Tu es en python3.7, peut-être une piste à suivre.
Compiler python3.8 et réinstaller le venv avec.

Les dernières updates du plugin n’ont pas apporté de changement face à ce blocage.

Comment dois-je procéder pour une compilation de python 3.8 sans que cela induise de conflit sur ma configuration Jeedom existante ?

Même question pour pour la réinstallation de venv.

Bonjour,

Soucis similaire sur Jeedom atlas. je surveille aussi les MAJ pour voir si le problème se solutionne.

Pas ce soucis avec python3.8 ou 3.9.

Sur le GitHub de gkeepapi, les personnes ayant rencontré le problème identique ont monté en version gpsoauth en v1.0.2 (qui est déjà à cette version normalement) et monté en version leur python.

De manière radicale : passer sous Debian11.

Bonjour à tous,
je rencontre le même problème :-/ je tentais d’installer le plugin.
Je suis en Jeedom 4.3.17, en debian 11.7
Les dépendances sont bien installées

*********************************
Get version of installed packages
*********************************
Python 3.9.2
Package            Version
------------------ ---------
certifi            2023.7.22
charset-normalizer 3.2.0
future             0.18.3
gkeepapi           0.14.2
gpsoauth           1.0.2
idna               3.4
pip                23.2.1
pkg_resources      0.0.0
pycryptodomex      3.19.0
requests           2.31.0
setuptools         44.1.1
urllib3            1.26.16
wheel              0.41.2
ven. 22 sept. 2023 11:31:31 CEST

Même symptômes, dépendances installées, je rentre mon adresse gmail et mon mot de passe et j’obtiens dans les logs (debug)

[2023-09-22 11:35:47]DEBUG : login : début
[2023-09-22 11:35:47]DEBUG : Commande envoyée : sudo /var/www/html/plugins/gkeep/core/class/../../resources/venv/bin/python3 /var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py  --username *masquee*@gmail.com get_master_token --password *masquee*
[2023-09-22 11:35:49]DEBUG : Résultat brut Traceback (most recent call last):   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 902, in      main()   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 786, in main     manager.get_master_token(args.username, args.password)   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 61, in get_master_token     success = keep.login(self.username, password)   File "/var/www/html/plugins/gkeep/resources/venv/lib/python3.9/site-packages/gkeepapi/__init__.py", line 697, in login     ret = auth.login(email, password, device_id)   File "/var/www/html/plugins/gkeep/resources/venv/lib/python3.9/site-packages/gkeepapi/__init__.py", line 58, in login     raise exception.BrowserLoginRequiredException(res.get("Url")) gkeepapi.exception.BrowserLoginRequiredException: https://accounts.google.com/signin/continue?sarp=1&scc=1&continue=https://accounts.google.com/o/android/auth?hl%3Den_us%26xoauth_display_name%3DAndroid%2BLogin%2BService%26source%3DAndroid%2BLogin&plt=AKgnsbug6ZoRl7BOrQIFqQxVkdl6yTGF81_artCcdDW4UE_AOCTlp37u5rJcA6JOGziJEu_b4uxA_PcOqsd_JECOUPEUNBOUTDUTOKEN_RIlB1jMhKRWv
[2023-09-22 11:35:49]DEBUG : sendCmdAndFormatResult : Résultat brut Traceback (most recent call last):   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 902, in      main()   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 786, in main     manager.get_master_token(args.username, args.password)   File "/var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py", line 61, in get_master_token     success = keep.login(self.username, password)   File "/var/www/html/plugins/gkeep/resources/venv/lib/python3.9/site-packages/gkeepapi/__init__.py", line 697, in login     ret = auth.login(email, password, device_id)   File "/var/www/html/plugins/gkeep/resources/venv/lib/python3.9/site-packages/gkeepapi/__init__.py", line 58, in login     raise exception.BrowserLoginRequiredException(res.get("Url")) gkeepapi.exception.BrowserLoginRequiredException: https://accounts.google.com/signin/continue?sarp=1&scc=1&continue=https://accounts.google.com/o/android/auth?hl%3Den_us%26xoauth_display_name%3DAndroid%2BLogin%2BService%26source%3DAndroid%2BLogin&plt=AKgnsbug6ZoRl7BOrQIFqQxVkdl6yTGF81_artCcdDW4UE_AOCTlp37u5rJcA6JOGziJEu_b4uxA_JECOUPEUNBOUTDUTOKEN_z3xDvu63RIlB1jMhKRWv
[2023-09-22 11:35:49]INFO : sendCmdAndFormatResult : Résultat array null
[2023-09-22 11:35:49]WARNING : Erreur lors de l'exécution de la commande :  --username *masquee*@gmail.com get_master_token --password *masquee*

Petite précision, je suis en authentification à 2 facteurs, je suis bien aller créer l’application mais je n’ai pas l’impression que ça serve beaucoup pour l’instant.

Si quelqu’un a une idée je suis preneur :-/

Foire

@Flobul
Je pense que j’ai une piste, si je puis me permettre :slight_smile:

J’ai découvert que, étant en auth a 2 facteurs, je dois appeler le mot de passe d’application.
Lorsque je l’appel via Jeedom, comme Google fourni un mot de passe avec des espaces, la commande n’arrive (en toute logique) pas à l’utiliser.
Les mots de passe d’application étant de la forme abcd efgh ijkl mnop

En ligne de commande, si je tente:

sudo /var/www/html/plugins/gkeep/core/class/../../resources/venv/bin/python3 /var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py --username mail@gmail.com get_master_token --password abcd efgh ijkl mnop

J’obtiens

usage: gkeepmanager.py [-h] --username USERNAME [--token TOKEN] [--command COMMAND] COMMAND ...
gkeepmanager.py: error: unrecognized arguments: efgh ijkl mnop
(ce qui n'est pas déconnant)

Et si je mets entre double quotes:
sudo /var/www/html/plugins/gkeep/core/class/../../resources/venv/bin/python3 /var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py --username mail@gmail.com get_master_token --password "abcd efgh ijkl mnop"

J’obtiens
{"code": 0, "message": "Master token created successfully.", "result": {"username": "mail@gmail.com", "token": "aas_et/AKppI8_JE_LE_CACHE_UN_PEUlZzLxboqyibmCs1bfRUIYsR4g2yfDaNCUM397wqnyxGKd2vOjhY_Pt_5O1RrX8B_LlZT36G_1X-izg6Fc="}}

Je ne sais pas si ça peut t’aider :-/

Et si je mets mon mdp d’application dans Jeedom (conf du plugin)

[2023-09-22 11:59:22]DEBUG : Commande envoyée : sudo /var/www/html/plugins/gkeep/core/class/../../resources/venv/bin/python3 /var/www/html/plugins/gkeep/core/class/../../resources/gkeepmanager.py  --username mail@gmail.com get_master_token --password abcd efgh ijkl mnop
[2023-09-22 11:59:24]DEBUG : Résultat brut usage: gkeepmanager.py [-h] --username USERNAME [--token TOKEN]                        [--command COMMAND]                        COMMAND ... gkeepmanager.py: error: unrecognized arguments: wyta yjqs vbkr
[2023-09-22 11:59:24]DEBUG : sendCmdAndFormatResult : Résultat brut usage: gkeepmanager.py [-h] --username USERNAME [--token TOKEN]                        [--command COMMAND]                        COMMAND ... gkeepmanager.py: error: unrecognized arguments: wyta yjqs vbkr
[2023-09-22 11:59:24]INFO : sendCmdAndFormatResult : Résultat array null
[2023-09-22 11:59:24]WARNING : Erreur lors de l'exécution de la commande :  --username mail@gmail.com get_master_token --password abcd efgh ijkl mnop

Et ce, même si je mets des quotes dans Jeedom :slight_smile:

Bonne lecture

Foire

Tout à fait.

C’est bien vu.
Je vais déjà corriger ça.

Dis moi et je test :wink:

Au final j’ai réussi à récupérer le token et à me connecter en mettant mon mot de passe d’application entre double quote dans Jeedom.

C’est poussé.

It’s work ! :clap:

Merci à toi :wink:

Suite à migration de Jeedom sur version Debian 11.7 et version Python 3.9.2, je ne rencontre plus :

Erreur lors de l'exécution de la commande :  --username ****@gmail.com get_master_token --password ****
To access your account, you must sign in on the web. Touch Next to start browser sign-in

Ayant l’authentification à 2 facteurs activée sur mon compte Google, j’ai créé et utilisé un mot de passe d’application.

salut ,
J’ai sensiblement le même problème. J’avais python 3.7.3 et je viens de passé en 3.11.4.
L’installation des dépendances de gKeep indique toujours 3.7.3.

si je fais $python -V, je vois bien 3.11.4

Je ne comprend pas « Compiler en 3.8 et réinstaller le venv avec ».
J’ai suprimé gKeep puis ré-installer et le meme résultat.

Je suis sur un RPI4 avec raspbian 10.


Install modules using apt-get


Reading package lists…
Building dependency tree…
Reading state information…
python3 is already the newest version (3.7.3-1).
python3-requests is already the newest version (2.21.0-1+deb10u1).
python3-setuptools is already the newest version (40.8.0-1).
python3-venv is already the newest version (3.7.3-1).
python3-pip is already the newest version (18.1-5+rpt1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Le script d’installation voit pourtant python 3.7.3.1.

Tape en ssh :
/var/www/html/plugins/gkeep/resources/venv/bin/python3 -V

Si python3.7, supprime le dossier /var/www/html/plugins/gkeep/resources/venv/ et relance les dépendances.

Merci,
J’obtiens le même résultat.
Mais je viens de voir ceci en SSh
python -V: 3.11.4
python2 -V: 2.7.16
python3 -V: 3.7.3

J’avais exécuter cette procédure pour faire l’update de python: https://aruljohn.com/blog/python-raspberrypi/

Incluant

sudo rm /usr/bin/python
sudo ln -s /usr/local/bin/python3.11 /usr/bin/python

Je croyais que ca enlêverait les références aux vieux python…

Est-ce que je devrait tenter
sudo ln -s /usr/local/bin/python3.11 /usr/bin/python3

Cherche où est installé python3.11, et modifie dans ton .bashrc l’alias vers python3.
Où est python :

which python3

Valider la modif dans .bashrc

source ~/.bashrc

Encore merci,

Maintenant
python -V: 3.11.4
python2 -V: 2.7.16
python3 -V: 3.11.4

Jai suprimer le dossier /var/www/html/plugins/gkeep/resources/venv/
et réinstaller les dépendances.

Mon log d’installation de gKeep


Get version of installed packages


Python 3.7.3
Package Version


certifi 2023.7.22
charset-normalizer 3.2.0
future 0.18.3
gkeepapi 0.13.7
gpsoauth 0.4.3
idna 3.4
pip 23.2.1
pkg_resources 0.0.0
pycryptodomex 3.19.0
requests 2.31.0
setuptools 40.8.0
six 1.16.0
urllib3 1.26.16
wheel 0.41.2

et la commande /var/www/html/plugins/gkeep/resources/venv/bin/python3 -V
me retourne: Python 3.7.3

Ah mince, c’est celui du user www-data pour jeedom qu’il faut modifier, et il n’a pas de bashrc.

Dans ce cas, plutôt ça, je dirais.

sudo ln -s /usr/local/bin/python3.11 /usr/bin/python3

Merci ,
Je ne trouve plus de référence a python 3.7.3 dans gKeep.

Juste pour information, je reçoit une maintenant une exception. Tout les autres plugins fonctionnent bien. Je vais en rester la pour un certain temps. Avec plus de temps libre je chercherai ce qui cloche dans mon installation de debian. J’ai d’autres plugin qui se référence à python3.7.3…

File « /var/www/html/plugins/gkeep/resources/venv/lib/python3.11/site-packages/gkeepapi/init.py », line 703, in login auth.login(email, password, device_id) File « /var/www/html/plugins/gkeep/resources/venv/lib/python3.11/site-packages/gkeepapi/init.py », line 54, in login raise exception.BrowserLoginRequiredException(res.get(« Url »)) gkeepapi.exception.BrowserLoginRequiredException:
https://accounts.google.com/signin/continue?sarp=1&scc=1&continue=https://accounts.google.com/o/android/auth?hl%3Den_us%26xoauth_display_name%3DAndroid%2BLogin%2BService%26source%3DAndroid%2BLogin&plt=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx