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

Langage PHP Discussion :

API Connexion Curl


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    L3 Informatique
    Inscrit en
    Avril 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : L3 Informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 29
    Points : 29
    Points
    29
    Par défaut API Connexion Curl
    Bonjour,

    Actuellement je développe une solution pour récupérer les données d'une API avec un système d'authentification.

    Pour l'instant mon objectif est d'afficher simplement les données de l'API sur une page web de manière brut.

    Voici un aperçu de mon travail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?php
     
    function dowload_products() {
      $response = "";
      $url="https://api.cin7.com/api/v1/Products?where=(stockControl=%27FIFO%27)and(status=%27Public%27)&order=&rows=250&fields=category,productType,customfields(products_1000,products_1001,products_1002,products_1003,products_1004,products_1005,products_1006,products_1007,products_1011,products_1013,products_1014),name,styleCode,brand,productType,description,stockControl,productOptions(code,option1,option2,priceColumns(frbareurincleur,frtradeeurexcleur,frretaileurhteur,frretaileureur,hkbarhkdhkd,hkptfhkdhkd,sgbarsgdincsgd,costEUR,hkonlinehkdhkd,hkretailhkdhkd,sgptfsgdincsgd,sgtradesgdisgd,sgonlineexclsgd,sgretailsgdsgd,hkaghkdhkd,hkwholhkdhkd,hktradehkdhkd))";
      $usr="login";
      $pwd="psw";
      $data = [];
      $to_sort=[];
      for ($i = 1;$response !== "[]"; $i++) {
     
          $ch = curl_init();
          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
          curl_setopt($ch, CURLOPT_USERPWD, $usr . ":" . $pwd);
          curl_setopt($ch, CURLOPT_URL, "".$url."&page=".$i."");
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($ch, CURLOPT_HEADER, false);
          $response = curl_exec($ch);
          $data[$i - 1] = json_decode($response, true);
          $status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
     
          foreach ($data[$i - 1] as $line => $key0) {
              foreach($key0 as $elements => $key1) {
                  if (gettype($key1) == 'array') {
                      foreach($key1 as $element => $key2)
                          if (gettype($key2) == 'array')
                              foreach($key2 as $key3 => $key4) {
                                  if (gettype($key4) == 'array')
                                      foreach($key4 as $key5 => $key)
                                          $to_sort[$key5] = $key;
                                  else
                                      $to_sort[$key3] = $key4;
                              }
                          else
                              $to_sort[$element] = $key2;
                  }
                  else
                  $to_sort[$elements] = $key1;
              }
              $data[$i - 1][$line] = $to_sort;
          }
     
      }
      sleep(1);
      return $data;
    }
     
    print_r(dowload_products());
    ?>
    Ainsi, lorsque j'essaye d'afficher le résultat j'obtiens un warning (voir Image) et rien ne s'affiche.

    Nom : warning.jpg
Affichages : 112
Taille : 35,1 Ko

    Du coup, comment résoudre ce problème et afficher de manière brute mes données issues de l'API ?

    Merci pour votre aide,

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    Alors ça j'ai jamais vu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     for ($i = 1;$response !== "[]"; $i++)
    Si tu pouvais nous dire ce que tu essaie de faire ?

    Quand tu fais ceci

    Il y a quoi du coup dans $data[0] ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    L3 Informatique
    Inscrit en
    Avril 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : L3 Informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2020
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    Oui, je viens de voir la catastrophe

    Après une refonte totale, j'ai trouvé la solution, merci de votre retour.

    Je met la discussion en résolu.

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

Discussions similaires

  1. API OVH CURL command line
    Par superkenny dans le forum WinDev
    Réponses: 1
    Dernier message: 06/05/2015, 11h45
  2. Problème connexion CURL - Paypal
    Par gekkette13 dans le forum Langage
    Réponses: 5
    Dernier message: 19/08/2014, 10h28
  3. [Sessions] Perte de connexion (Curl)
    Par gosptony dans le forum Langage
    Réponses: 3
    Dernier message: 27/07/2012, 18h50
  4. connexion curl php robuste ?
    Par Tongs dans le forum Langage
    Réponses: 0
    Dernier message: 13/12/2011, 13h11
  5. [OpenOffice API] Connexion dBase
    Par quilovni dans le forum Documents
    Réponses: 3
    Dernier message: 03/11/2008, 10h32

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