Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer valeurs API

Sujet résolu
    1 août 2020 à 16:31:28

    Bonjour, 

    Je souhaite créer un script en JS pour récupérer des stats coronavirus via cette API : https://corona-virus-stats.herokuapp.com/api/v1/cases/general-stats

    Sauf que j'aimerais récupérer uniquement la valeur "total_cases": "17,822,969" et le mettre dans une variable. Sauf que je ne sais pas comment faire. Est ce que qql pourrait m'aider ?


    Voici mon code :


    const axios = require("axios");
    const async = require("async");
    const await = require("await");
    
    user = "94655605";
    pass = "FXEDBUiGQvIgUb";
    msg = "Bonjour toi";
    
    url =
      "https://smsapi.free-mobile.fr/sendmsg?user=" +
      user +
      "&pass=" +
      pass +
      "&msg=" +
      msg;
    
    console.log(url);
    
    console.log(
      axios.get(
        "https://corona-virus-stats.herokuapp.com/api/v1/cases/general-stats",
        {
          params: {
            data: "total_cases",
          },
        }
      )
    );
    
    // axios.post(url);
    

    -
    Edité par LouisGallet1 1 août 2020 à 16:45:35

    • Partager sur Facebook
    • Partager sur Twitter
      1 août 2020 à 16:36:00

      Bonjour,

      Merci de colorer votre code à l'aide du bouton Code

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: jscript;">Votre code ici</pre>.

      Merci de modifier votre message d'origine en fonction.

      Liens conseillés

      • Partager sur Facebook
      • Partager sur Twitter
        1 août 2020 à 16:46:27

        Voilà, j'ai formaté mon code
        • Partager sur Facebook
        • Partager sur Twitter
          1 août 2020 à 20:51:28

          Bonjour et quelle et l'erreur actuellement ?

          Qu'est que tu reçoit de ton log dans ta console ?

          Du petit morceau que j'ai survolé de la doc la méthode GET renvoi un object Promise à résoudre,

          ton log devrait être un truc du genre je pense:

          [object Promise]


          axios.get('/cible-request')
          .then(function (response) {
              // résolution de la requête
              console.log(response);
          })
          .catch(function (error) {
              // error requête
              // ( network error, host unknow, ...)
          	console.log(error);
          })
          
          .finally(function () {
          	// block optionnel
              // s'executera
          	// peut importe si la requête et résolu ( then )
              // où rejecté ( catch )
              // peut s'ervir à libéré de la mémoire
              // fermé des interval, flux fichiers ...
          });

          ci dessus une illustration tiré du README de axios

          -
          Edité par SamuelGaborieau3 1 août 2020 à 20:51:57

          • Partager sur Facebook
          • Partager sur Twitter

          suggestion de présentation.

            1 août 2020 à 23:21:35

            Bonjour,

            Et si tu test un truc dans ce genre :

            axios.get("https://corona-virus-stats.herokuapp.com/api/v1/cases/general-stats")
            	.then(res => {
            		console.log(res.data.total_cases)
            	})
            	.catch(function(err) {
            		console.log(err);
            	});


            Est-ce que tu arrives à récupérer quelque chose de lisible ?

            • Partager sur Facebook
            • Partager sur Twitter
              10 août 2020 à 13:08:45

              Bonjour, 

              J'obtient cette réponse : undefined

              (C'est le code de NeoMaster_71

              • Partager sur Facebook
              • Partager sur Twitter
                10 août 2020 à 17:50:18

                Re bonjour si avec le code complet de @NeoMaster_71 tu obtient un log avec la valeur undefined ces que tu reçois une réponse à ta requête et que l'attribut total_cases du sous object data n'existe pas tu peut faire un log de res.data pour voir tous les attributs de l'object.

                -
                Edité par SamuelGaborieau3 10 août 2020 à 17:50:50

                • Partager sur Facebook
                • Partager sur Twitter

                suggestion de présentation.

                  11 septembre 2020 à 21:04:51

                  Bonsoir, désolé de mon absence mais avec la rentrée etc j'étais pas trop dispo :),

                  Quand je fais un 

                  console.log(res.data)

                  j'obtiens la réponse suivante :

                  { data:
                  
                     { total_cases: '28,518,579',
                  
                       recovery_cases: '20,465,804',
                  
                       death_cases: '916,777',
                  
                       last_update: 'Sep, 11 2020, 17:29, UTC',
                  
                       currently_infected: '7,135,998',
                  
                       cases_with_outcome: '21,382,581',
                  
                       mild_condition_active_cases: '7,075,186',
                  
                       critical_condition_active_cases: '60,812',
                  
                       recovered_closed_cases: '20,465,804',
                  
                       death_closed_cases: '916,777',
                  
                       closed_cases_recovered_percentage: '96.0',
                  
                       closed_cases_death_percentage: '4.0',
                  
                       active_cases_mild_percentage: '99.0',
                  
                       active_cases_critical_percentage: '1.0',
                  
                       general_death_rate: '3.0' },
                  
                    status: 'success' }
                   
                  



                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 septembre 2020 à 22:55:25

                    Bon ben voilà tu as tes données...

                    le seule truc un peut lourd c'est que dans l'objet data tu as un sous objet data ( donc du même nom ) qui lui contient la propriété total_cases

                    pour chopé la propriété tu doit écrire:

                    res.data.data.total_cases

                    -
                    Edité par SamuelGaborieau3 11 septembre 2020 à 22:58:43

                    • Partager sur Facebook
                    • Partager sur Twitter

                    suggestion de présentation.

                      12 septembre 2020 à 19:10:13

                      Bonjour, merci, ça marche...

                      Si quelqu'un est interesser par le projet je l'ai mis sur GitHub (et remercié toutes les personnes qui m'ont aidé ici :))

                      Merci à vous 

                      https://github.com/louisgallet95/Corona-SMS

                      -
                      Edité par LouisGallet1 12 septembre 2020 à 19:10:34

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Récupérer valeurs API

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown