IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

[API Google translate] Erreur requête


Sujet :

APIs Google

  1. #1
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut [API Google translate] Erreur requête
    Salut, a tous,

    Je travail sur des traductions avec l'api de google translate je fais ceci dans ma requete HTTP:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    let path = '/?sl=en&tl='+lang+'&text='+input;
        path = encodeURI(path);
     
        let options = {
            host: 'translate.google.com',
            path: path,
            headers: {
                'User-Agent': 'Chrome/59.0.3071.115',
                'Accept-charset': 'utf-8'
            }
        };
    et voici mon erreur:

    error { Error: socket hang up
    at TLSSocket.onHangUp (_tls_wrap.js:1124:19)
    at TLSSocket.g (events.js:292:16)
    at emitNone (events.js:91:20)
    at TLSSocket.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9) code: 'ECONNRESET' }
    peut-etre auriez-vous un solution?

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut, il me semble que le bout de code n'explique pas ton erreur, faudra surement investir du côté serveur (api) ou une autre partie du script, un routeur, un firewall ou que sais je, checker les logs pour en savoir un peu plus.

  3. #3
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    On peut traduire approximativement “socket hang up” par « le socket a bloqué », et le code ECONNRESET laisse penser que c’est le serveur distant qui a rejeté la requête. C’est normal si tu utilises l’adresse web de Google Translate au lieu de l’adresse d’API. Je pense que tu as dû atteindre une limite sur le nombre de requêtes.

    La méthode officielle pour obtenir des traductions Google depuis un serveur est Google Cloud Translate. Il existe au moins un paquet npm (j’ai trouvé celui-ci) qui te permet de faire ça facilement sous Node. Il te faudra simplement créer une clé API auprès de Google si tu n’en as pas déjà une.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  4. #4
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Rien n'est gratuit.. chez Google
    Merci pour ta réaction.

    C'est effectivement ce j'ai constater car quand je diminue le nombre de requete a 250(+/-) ca passe sans problème.

    L'accès a l'API est limiter a un certains nombre de charactère..

    C'est un peu limitant(chez Google).

    Je ne c'est approximativement combien j'aurais de caractère.
    Surtout si je mutiplie le nombre de deploiement comment savoir?

    Je suppose que cette clé est unique ou bien ce sera une cle par client..

  5. #5
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Oui, une clé correspond à un fournisseur de service, et non pas à un client. Google ne te laisserait pas automatiser la création de clés.

    Deux solutions se présentent à toi :
    • payer pour avoir le droit de faire des requêtes plus volumineuses ou nombreuses ;
    • limiter en amont les requêtes que font tes clients.


    Si tu choisis la seconde solution, informe tes clients de cette limite pour qu’ils n’aient pas de mauvaise surprise, je pense qu’ils seront compréhensifs.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  6. #6
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Connaitre limit niveau implementation
    Oui, j'ai bien compris ta réponse.

    et je te remercie, je met le post en résolu

  7. #7
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut je reouvre ce post.. car..
    Pour developper sur le système de requête(en code)
    Je me permet de réouvrir ce post.

    En effet je ne veux pas payer Google, alors je ferais des requêtes en attendant après chaque limite.

    Comment faire cela je pense implémenter un wait comme pour les promesses en es6.

    je ne sais pas si la limite sera toujours identique à l'avenir
    donc rien ne dit que le script sera pérenne.

    Comment solutionner cela?

  8. #8
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Je sais pas si c'est toujours d'actualité mais en 2013 il me semble que j'avais eu ce soucis "retriction des requètes", et j'avais fait un script CURL pour outrepassé ce gourmand de google concernant les limites qui venait d'être implémenté sur l'API google translate que j'utilisais pour des traductions de site à la volé. ici un lien a ce sujet : https://krylov.org.ua/php-google-translate-curl/

  9. #9
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Resolu
    Après plusieurs essai dans le code vu et revue

    L'erreur ne se reproduit plus même avec 500 requete de traduction sur Google translate

    cela etait surement du a un soucis dans au niveaux fonctionnel..

    je met en resolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Autres] Erreur Api Google +1
    Par Invité dans le forum APIs Google
    Réponses: 8
    Dernier message: 19/02/2013, 13h06
  2. [Autres] API Google analytics - Requêter proprement
    Par neth69 dans le forum APIs Google
    Réponses: 0
    Dernier message: 30/10/2012, 22h15
  3. [Google Maps] Google Distance Matrix API et jQuery : la requête ne semble pas fonctionner
    Par [ZiP] dans le forum APIs Google
    Réponses: 2
    Dernier message: 19/05/2011, 08h50
  4. Erreur Python (API Google charts)
    Par Invité dans le forum Général Python
    Réponses: 1
    Dernier message: 29/10/2010, 12h45
  5. Api Google Map erreur incomprehensible (pour moi!)
    Par voyageurdumonde dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/06/2010, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo