Utiliser un Web Service JSON – Episode 2

Ces articles pourraient également vous intéresser...

9 réponses

  1. Hervé Inisan dit :

    Newbie8 > Les sites Web peuvent fournir leurs données sous différents formats : HTML (le classique), XML, JSON… Le principe décrit dans l’article s’applique aux autres formats (l’article est d’ailleurs dérivé d’une série sur les flux RSS/XML). Maintenant, tout dépend de la structure des données fournie par le site ;  les données seront retraitées différemment en fonction de cette structure.

  2. Newbie8 dit :

    Bonjour,
    J’aimerais savoir si je peux trouver sur ce site comment récupérer les données à partir de n’importe quel site sans qu’il soit nécessairement en javascript. D’ailleurs, comment peut on savoir de quel type est le site web?
    Je m’excuse pour ces questions très drôles.

    Merci.

  3. Hervé Inisan dit :

    Vincent > Après un test rapide, l’encodage sera un plus, mais ce n’est pas lui le responsable. Tout simplement, si tu affiches les résultats dans la fenêtre Debug, tu ne vois que la fin de la réponse JSON (la fenêtre Debug est limitée en volume). Du coup, ça peut laisser penser que la distance est de 3.1 km, mais il s’agit seulement d’une distance d’étape. La distance réelle (et correcte) figure en début de JSON.

    Je poste un article là-dessus dès que j’ai un moment.

  4. Hervé Inisan dit :

    Vincent > Merci pour le retour, ça intéressera d’autres personnes.

    Je jetterai un œil pour voir d’où vient le problème de distance (problème d’encodage peut-être ?)

  5. Vincent dit :

    Voila donc pour ceux que ça intéresse, voici le code adapté pour avoir un retour de Google MAP selon la méthode d’Hervé pour traiter les JSON.
    voici les paramètres de l’API Google : https://developers.google.com/maps/

    Le seul bémol est que le retour n’est a priori pas bon (paris -> Rennes 3 KM ???)
    Sinon vous pouvez partir sur la version XML en adaptant le code Gmap et en suivant la formation d’Hervé : Lecture de flux RSS.
    En espérant que cela en aide certain.

    Code VBA :

    Function LectureGmap() As String
    Dim strURL As String
    Dim http As MSXML2.ServerXMLHTTP
    Dim TrajetDepart As String
    Dim TrajetArrive As String

    TrajetDepart = “Rue de Paris,Rennes,”
    TrajetArrive = “Rue de Rivoli, Paris”

    ‘ URL du flux à lire
    strURL = “http://maps.googleapis.com/maps/api…” & TrajetDepart & “&destination=” & TrajetArrive & “&sensor=false&units=metric”

    ‘ Lecture du flux
    Set http = New MSXML2.ServerXMLHTTP
    http.Open “POST”, strURL, False
    http.send “”

    ‘ En cas de réussite, le code renvoyé est 200
    If (http.status <> 200) Then
    LectureGmap = “”
    Else
    ‘ Transformation du JSON en VBA
    LectureGmap = http.responseText
    End If

    ‘ On libère les objets
    Set http = Nothing
    End Function

  6. Vincent dit :

    Bonjour Hervé,
    j’ai recommencé du début a partir d’une nouvelle BDD (La BDD sur laquelle je travaille a trop de références cochées…) et du coups cela fonctionne a merveille…
    Merci.

  7. Vincent dit :

    Bonsoir Hervé,
    oui la bibliothèque est bien cochée…c’est le mot “new” qui pose problème.
    Je n’ai pas trouvé pourquoi !!!
    Je recommencerai sur une bdd vierge, ça joue peut être.
    Du coups, j ai contourné et je suis repassé au format XML pour récupérer les donnees de Google Maps.
    Cependant la version Json me retournais bien les données mais je n’avais pas réussi à les exploiter. C est fait avec le XML et grâce entre autre a vos tutos sur les flux rss.
    Merci beaucoup.
    Vincent

  8. Hervé Inisan dit :

    Vincent > Scripting.Dictionary est un objet de la bibliothèque Microsoft Scripting Dictionary. Est-ce qu’elle est cochée ?

  9. Vincent dit :

    Bonjour Hervé,
    J’ai une erreur lorsque je compile j’ai ce message d’erreur :
    Erreur de compilation : Utilisation incorrecte du mot clé New

    et le débogage s’arrete sur cette ligne :

    Set parseObject = New Dictionary

    de la fonction : Private Function parseObject(ByRef str As String, ByRef index As Long) As Dictionary

    J’ai pourtant bien suivi toutes les étapes et j’ai bien toutes les références cochées…
    Auriez vous une idée de ce qui bloque?
    Merci.

    Vincent.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">