Erreur Google Cloud print

Bonjour,

Je suis sur dolibarr 6.0.6 et depuis quelques jours, je reçois ceci :

file_get_contents(https://www.google.com/cloudprint/submit): failed to open stream: operation failed

Qui correspond à cela :

{ "success": false, "request": { "time": "0", "params": { }, "user": "[email protected]", "users": [ "[email protected]" ] }, "errorCode": 9, "message": "\u00c9chec de la validation du jeton XSRF." }

J’ai supprimé le jeton et je l’ai renouvelé avec succès, mais le problème persiste.
Avez vous un début de piste sur la raison et la résolution de cette erreur ?

Merci

Bonjour
Essaye de supprimer les droits dans google et de recréer le lien.

Fred

Bonjour,

Je viens de tenter, sans succès. Par contre, à la suite de la suppression du lien et de la suppression/demande de jeton, je suis certain qu’il m’a régénéré un nouveau jeton car la date a bien changé.

J’espère que ce n’est pas comme avec outlook et la RGPD ou il m’a fallu deviner que je ne recevait plus les mails car il m’a fallut prouver que j’avais plus de 16 ans en me connectant par l’interface web…

Alors, j’ai avancé un peu…

Ce problème intervient suite à la maj 1803 de Windows 10.
Lorsque je désactive le pare-feu, tout roule, lorsque je le réactive, impossible d’imprimer.
Mes ports 80-443 TCP sont ouverts pourtant.

Avez-vous une idée ?

Bon, visiblement, le pare-feu n’était qu’une coïncidence…

J’ai donc tout viré oauth et cloudprint, mis à jour vers la version 6.0.7, et remis oauth et cloudprint.

Maintenant, je ne peux même plus voir la liste des imprimantes :

file_get_contents(https://www.google.com/cloudprint/search): failed to open stream: operation failed file_get_contents(https://www.google.com/cloudprint/search): failed to open stream: operation failed

En-tête X-CloudPrint-Proxy manquant. Error 400

Bonjour
Je viens d’essayer sur une 7.0.1 toute fraiche, cela fonctionne correctement. Dolibarr est sur un serveur linux (gandi) et l’imprimante est ici.

Fred

J’ai quelques crainte quant au passage à une version 7.x

En effet, avec les version 6.x, je peux sans prise de tête, supprimer une facture pour la remettre au bon client lors d’une éventuelle erreur.
Il me semble qu’avec la version 7.x, je serais obligé d’annuler la facture, et de la recommencer au nouveau client, ce qui est un poil prise de tête.

De même, lorsqu’un client se trompe de chéquier et qu’il veut annuler le paiement pour le recommencer avec le bon chéquier, je peux juste supprimer le paiement pour le refaire…
Et cela aussi je ne suis pas sûr de pouvoir le faire avec une version 7.x

Le premier point est juste pénible, le second est vraiment rédhibitoire.
Si cela est toujours possible (je parle du second point) alors je testerais volontiers avec un version 7.x

Salut bagu
vu que t est sous windows
si tu as wamp (pas doliwamp)
installe plusieurs versions de dolli et teste

Bonjour,

Je ne suis pas sous wamp.
J’ai un serveur hébergeant plusieurs sites et services.

Le temps me manque pour tester/installer plusieurs versions juste pour google cloud print.

Rebonjour,

Je viens de migrer sur dolibarr 7.0.2 avec succès…Mais…le problème persiste…

dolibarr-google.jpg

Je ne comprends pas…La situation s’est dégradée suite à la maj vers windows 10.1803.
Cela fonctionnait en dilettante, puis plus du tout.

J’ai carrément virer l’appli web oauth, recréé, fait de même pour le token…Rien n’y fait.
Je reçois bien le token, mais impossible d’avoir la liste des imprimantes alors qu’elle apparait bien dans google cloud print.

Et les logs PHP ne sortent que ceci :

[15-May-2018 21:47:22 Europe/Paris] PHP Warning: Use of undefined constant state - assumed 'state' (this will throw an Error in a future version of PHP) in \dolibarr\includes\OAuth\Common\Storage\DoliStorage.php on line 245 [15-May-2018 21:47:31 Europe/Paris] PHP Warning: count(): Parameter must be an array or an object that implements Countable in l\dolibarr\core\modules\printing\printgcp.modules.php on line 265 [15-May-2018 21:47:31 Europe/Paris] PHP Warning: count(): Parameter must be an array or an object that implements Countable in \dolibarr\core\modules\printing\printgcp.modules.php on line 265

Help :unhappy:

Au vu de l’énorme succès (sic… :unhappy: ) et de l’empressement à résoudre un problème qui n’intervient pas que sur ma propre installation (je suis content cependant de savoir que cela fonctionne chez ceux étant sous linux et avec une version de php différente :whistle: ), j’ai ouvert un ticket sur github : https://github.com/Dolibarr/dolibarr/issues/8885

Je précise que cela semble fonctionner avec php 7.0.30

EDIT : Je confirme un fonctionnement parfait avec PHP 7.0.30
EDIT2 : Marche aussi avec PHP 7.1.18

Bonjour
Pour moi cela n’a rien à voir avec ta mise à jour de windows, car dolibarr communique directement avec le service de google.
C’est peut être un bug de php, ou un problème de certificat ssl

Fred

En fait, la maj windows à coïncidé avec une raz des paramètres de pare-feu (Merci microsoft)
De fait, il n’y avait plus de communication avec les services google.

Quand j’ai constaté que rien ne fonctionnait, j’ai commencé en re-demandant un jeton, et devant l’erreur, les premiers résultats google me disaient de mettre à jour PHP.
J’ai donc passé PHP de la version 7.1 à la 7.2
Au vu de l’absence de résultats, j’ai investigué plus loin et ai vu que les paramètres de pare-feu avaient été remis à zéro.
J’ai donc reconfiguré le pare-feu.
Du coup, j’ai enfin pu obtenir un jeton, mais me suis retrouvé devant le problème d’impossibilité de choisir une imprimante.

Une fois que j’ai eu un peu de temps devant moi, j’ai testé en revenant à une version de PHP 7.0 comme un confrère me l’a conseillé.
Et résultat, je peux désormais affirmer que le module d’impression directe avec google ne fonctionne pas avec les version 7.2 de PHP mais fonctionne avec PHP 7.0 et 7.1.
On obtient bien un jeton, mais la sélection d’imprimante est impossible (les messages d’erreurs sont mentionnés plus haut)

C’est pourquoi j’ai soumis un ticket sur github afin que le problème soit vu et corrigé dans une version ultérieure.