Jeton Google

Tags: #<Tag:0x00007fcbab6ff558>

Oui j’ai bien coché la case.

J’ai réussi à récupérer le réveil mais les jetons changes tous les Jours ??

Hello.

@guirem ce serait top si tu pouvais intégrer directement dans le plugin la récupération du jeton Google.
La nouvelle procédure de rithvikvibhu permet de scripter facilement cela : https://rithvikvibhu.github.io/GHLocalApi/#section/Google-Home-Local-API/Authentication

Tout est en python mais possible de faire assez simplement en php si besoin.
Quelques dépendances mais rien de bien important.
Je l’ai fait sur mon mac et ca marche nikel.

Il suffit de chercher le deviceName dans le « Nom Diffusé » et saisir automatiquement le localAuthToken dans le champs « Jeton Google Assistant/Home ».

Ca nécessitera d’ajouter dans la configuration du plugin, le login/pass Google. Perso je préfère utiliser le masterToken. Du coup en l’affichant dans le log quand il est pas saisi dans le champs passwd (il commence par aas_et/*** donc facile a reconnaitre) ca permettrait au gens de choisir.

Enfin bref, avec cette methode, on revient a un mode comme avant le changement d’API et surtout c’est beaucoup plus simple et fonctionne même pour ceux qui n’ont pas d’Android.
Donc si tu pouvais intégrer cette methode pour récupérer automatiquement le jeton ce serait super.
Au besoin je peux t’aider :wink:

1 J'aime

@mguyard Je n’ai pas tout compris comment faire pour récupérer le localAuthToken ?

Tout est décrit dans l’url que j’ai mise.
Il suffit de lancer sur une machine (Jeedom par exemple) le script get_tokens.py en ayant rentrer dedans avant les informations de ton compte Google qui gère les GH.
Puis lancer la commande grpcurl tels qu’indiqué dans la doc qui t’afficheras le localAuthToken de chacun de tes GH

@mguyard Bon j’avance j’arrive bien à récupérer le masterToken mais tu parle de lancer la commande grpcurl tels qu’indiqué dans la doc mais je ne trouve pas de quel doc tu parles ?

C’est dans l’URL que j’ai mise.
Tu as un example complet et ca indique la commande. Il suffit de suivre tout après avoir installé les dépendances indiqués

Ok j’ai vu mais si je comprends bien on peux pas tester sous windows ?

Je ne sais pas je suis sous MaC. Il suffit de voir si les dépendances existe sous Windows. Ou dans le pire des cas tu l’installe sur ton Jeedom vu que tout se fait en ligne de commande.

Bonjour à tous,
Je suis très content de tomber sur ce fil de discussion car vous paraissez avoir réussi à faire ce que je galère à faire depuis quelques semaine.

Je suis tombé sur le github et le gist en parcourant la documentation du plugin GoogleCast.

Mon besoin : récupérer tous les matin (genre vers 4h du mat’) l’heure de réveil des google homes de la maison pour ensuite déclencher des scénarios à cette heure-ci (ex : ouvrir les volets, allumer des lumières etc…

J’ai donc récupéré le script python get_tokens.py et y ai mis en username mon adresse email google et en password mon mot de passe de mon compte google.
Ensuite j’ai appelé ce script depuis une commande de type script/action… Je clique sur tester… mais je me rends bien compte que les tokens ne vont pas se récupérer tout seul…

Donc pour y voir plus clair, j’ouvre un terminal de mon jeedom (depuis Docker, car mon jeedom tourne sur un docker sur mon NAS). Je lance le script avec python3 get_tokens.py, je me fais insulter car je n’ai pas installé gpsoauth… je l’installe avec pip install gpsoauth, puis je retente sans succès, puis j’installe gpsoauth dans python3 avec pip3 install gpsoauth et je retente.

Et là il me dit :

[*] Getting master token...                                                                            
{'Error': 'BadAuthentication'}                                                                         
[!] Could not get master token.                                                                        
[*] Master token: None                                                                                 
                                                                                                       
[*] Getting access token...                                                                            
{'Error': 'BadAuthentication'}                                                                         
[!] Could not get access token.                                                                        
[*] Access token: None 

J’avoue que je suis coincé.
Pourriez-vous partager ici comment vous avez fait pour avancer et récupérer mastertoken et access token ?

Ensuite j’ai compris qu’on faisait une autre commande pour récupérer les jetons de nos google home, qu’il faut ensuite rentrer automatiquement (j’espère) dans les config des équipement du plugin googecast… bref je suis pas arrivé !!
Merci à vous pour votre aide.

J’ai fait une petite procédure sur l’automatisation de la recuperation des tokens : Automatiser la récupération des tokens Google Home (pour récupérer les alarmes par exemple)

Bonjour,

Ca ressemble beaucoup une erreur de mot de passe dans le get_token.py

Je suis d’accord mais pourtant mon mot de passe google quand même… Ca au moins je maitrise…
Comprends pas…

C’est vraiment bon à savoir, je vais essayer de faire fonctionner ça en mode manuel avant de me lancer dedans.

Tu aurais pas une double authentification active ?
Essaye avec un mot de passe d’application peut être : https://support.google.com/accounts/answer/185833?hl=fr

Hello, j’ai regardé : non la double authentification est bien désactivée et je comprends que le mot de passe d’application n’est pas possible en simple authentification.

Par contre à tout hasard je vais essayer en activant le paramètre " Accès moins sécurisé des applications"… Apparemment ce n’est vraiment pas conseillé par google mais bon, on verra si ça marche mieux.
Dites moi de votre côté comment est réglé ce paramètre ou si je fais fausse route.

Par ailleurs dans le script de récupération des tokens, je vois que pour s’authentifier on a besoin de 3 paramètre :

  • Username --> mon adresse gmail
  • Password --> bah mon mot de passe quoi
  • Device ou Android ID --> celui là est déterminé par des fonctions du scripts. Est-ce que le problème peut venir de ça ? Connaissez-vous un moyen de vérifier si l’ID calculé par le script est correct ?
    Merci

Hello,

Franchement j’ai pas cherché car ca a marché directement pour moi. J’ai juste mis mon email et mon mot de passe dedans et tout était bon.
Le deviceid est toujours à None chez moi.
Idéalement faudrait aller demander sur le GitHub de développeur du plugin : https://github.com/rithvikvibhu/GHLocalApi/issues

Un cas comme le tiens a était remonté, regarde si ca peut t’aider sinon ouvre un issue : https://github.com/rithvikvibhu/GHLocalApi/issues/54

Pour info, l’auteur du script recommande d’utiliser un mot de passe lesssecureapp : https://myaccount.google.com/lesssecureapps

Regarde le tuto, il a était modifié et en le suivant ca devrait marcher pour toi

As tu réussi? De mon coté, j’ai tout essayé et je suis toujours au même point.

Non j’ai pas encore réussi. Un disque de mon NAS a crashé donc je doit refaire ma config.
Et du coup j’essaie tant qu’à faire de réinstaller mon jeedom sur un docker sur une base de Debian Buster.
Je suis ce tuto et je n’y arrive pas…
Je peux réinstaller mon docker en host mais si un jour je prends du xiami ou que je veux utiliser BLEA ça ne marchera pas… Je te tiens au jus quand je reviens au point de départ…