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

IGN API Géoportail Discussion :

Clé API comment ca marche


Sujet :

IGN API Géoportail

  1. #21
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 13
    Points
    13
    Par défaut
    4D est un IDE serveur web natif

    La commande que j'utilise http://doc.4d.com/4Dv13/4D/13.5/OUVR...457569.fr.html

    Le code fonctionnant avec Googlemaps est hypersimple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $URLparametre:="http://wxs.ign.fr/0fhvjmcx14jznva0cmasc5vn/geoportail/ols?xls=%3CXLS%20xmlns%3D%22http%3A//www.opengis.net/xls%22%20version%3D%221.2%22%3E%3CRequestHeader%20sessionID%3D%22%22/%3E%3CRequest%20methodName%3D%22GeocodeRequest%22%20version%3D%221.2%22%20r"+"equestID%3D%22%22%20maximumResponses%3D%22100%22%3E%3CGeocodeRequest%3E%3CAddress%20countryCode%3D%22PositionOfInterest%22%3E%3CfreeFormAddress%3E2%20avenue%20Pasteur%2094160%20Saint-Mand%E9%3C/freeFormAddress%3E%3C/Address%3E%3C/GeocodeRequest%3E%3C/"+"Request%3E%3C/XLS%3E&output=xml"
    
    OUVRIR URL WEB($URLparametre;*)
    J'ai la possibilité de créer une requête ex nihilo en utilisant les commandes TCP mais c'est beaucoup plus long. Je peux alors créer une requête POST ligne par ligne, la mettre dans un blob et envoyer le bob. Pour info, la même requête avec Googlemaps m'a pris 3 heures sans aide.

  2. #22
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Pour info, la même requête avec Googlemaps m'a pris 3 heures sans aide.

    La sécurisation des accès pour google maps ne fonctionne pas de la même manière (tous referers autorisés), c'est pour cela que vous n'avez pas rencontré ce problème.

    En ce qui nous concerne, le problème est le suivant :

    la sécurisation par referer est destinéee à une usage par une application web. A savoir une page web hébergée par un serveur web. Lorsqu'on accède à cette page via un navigateur, ce dernier envoie les requêtes vers le serveur wxs.ign.fr en renseignant l'entête referer avec la valeur de l'url où est hébergée la page (où tourne le serveur).

    De ce que je comprends de votre utilisation, c'est le serveur qui va effectuer lui même la requête vers le serveur wxs.ign.fr un peu comme une page PHP ou autre script côté serveur. Ces derniers langages de script permettent en général de fixer eux-même des entêtes HTTP dans les requêtes qu'ils envoient. En regardant rapidement la doc 4D, il me semble que vous devriez plutôt arriver à faire cela en utilisant :

    http://doc.4d.com/4Dv13/4D/13.5/HTTP...458477.fr.html


    plutôt que OUVRIR DOCUMENT.

  3. #23
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    OUVRIR URL WEB est plutôt une requête POST et http GET est une requête GET et dans votre doc il est question d'une requête POST
    Je vais la tenter quand même

    Comme je l'écrivais dans mon dernier post, on peut créer une requête ex-nihilo en rajoutant tous les en-têtes nécessaire et l'envoyer directement avec des commandes tcp. C'est rustique et plus long

  4. #24
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    Le service peut être attaqué en POST ou en GET (cf. http://api.ign.fr/tech-docs-js/fr/de...equtes_GET_KVP pour ce dernier). acarme vous a d'ailleurs donné une requête en GET pour faire simple, mais si vous voulez faire du POST, il me semble que 4D permet de le faire aussi :

    http://doc.4d.com/4Dv13/4D/13.5/HTTP...458478.fr.html

  5. #25
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 9
    Points : 13
    Points
    13
    Par défaut
    Voilà la requête envoyée avec http GET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://wxs.ign.fr/0fhvjmcx14jznva0cmasc5vn/geoportail/ols?xls=%3CXLS%20xmlns%3D%22http%3A//www.opengis.net/xls%22%20version%3D%221.2%22%3E%3CRequestHeader%20sessionID%3D%22%22/%3E%3CRequest%20methodName%3D%22GeocodeRequest%22%20version%3D%221.2%22%20requestID%3D%22%22%20maximumResponses%3D%22100%22%3E%3CGeocodeRequest%3E%3CAddress%20countryCode%3D%22PositionOfInterest%22%3E%3CfreeFormAddress%3E2%20avenue%20Pasteur%2094160%20Saint-Mand%E9%3C/freeFormAddress%3E%3C/Address%3E%3C/GeocodeRequest%3E%3C/Request%3E%3C/XLS%3E&output=xml
    Voilà la réponse : <ExceptionReport><Exception exceptionCode="MissingRights">Wrong User-Agent</Exception></ExceptionReport>

    Une erreur différente des précédentes : je n'envoie pas de User-Agent mais je peut rajouter un entête Http avec User-Agent

    Question si je rajoute après RequestHeader user-agent:"4D" cela peut-il passer ?

    Cordialement

  6. #26
    Membre chevronné Avatar de gcebelieu
    Homme Profil pro
    Ingénieur Géographe et Cartographe
    Inscrit en
    Novembre 2010
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Géographe et Cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1 106
    Points : 1 843
    Points
    1 843
    Par défaut
    La clef indiquée dans la requête (0fhvjmcx14jznva0cmasc5vn) est sécurisée par User-Agent ("Android") et non par referer. D'où le message.
    Il vous faut donc rajouter un entête User-Agent: "Android" pour que ça passe.

    La clef initiale de la discussion (44y4xil7gh7siyof2wwqezrl) est sécurisée par referer ("http://localhost").
    Pour celle là, il faut rajouter un entête "Referer: http//localhost" pour que les requêtes soient autorisées.

    Le type de sécurisation est déterminé sur le site api.ign.fr par le champ "Type de clef" lors de la contractualisation.

    Mobile => sécurisation par user-agent
    Web, Web3D => referer
    SIG => login / mot de passe


    J'attire votre attention sur le fait que vous utilisez des clefs de développement (contractées sur le site api.ign.fr) qui sont limitées en termes de ressources accessibles et de validité dans le temps (environ 3 mois). Pour obtenir des clefs dites de production, moins limitées et plus pérennes, il vous faut aller sur le site http://professionnels.ign.fr/api-web. Une explication ces types de clefs est fournie ici : http://api.ign.fr/faq#subject_9

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. qu'est ce que google adsense api et comment ca marche?
    Par stephanech dans le forum Services
    Réponses: 0
    Dernier message: 29/01/2011, 10h59
  2. [XML] API REST : comment ca marche ?
    Par chuckichucki dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 18/01/2011, 14h33
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 20h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 01h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 13h51

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