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 :

CURL Questions de débutante


Sujet :

Langage PHP

  1. #1
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut CURL Questions de débutante
    Bonjour à tous,

    Depuis quelques jours dans mon entreprise, je dois accéder à des données d'un sous-traitant via CURL.
    Il dépose exclusivement des fichiers Json et je requête exclusivement en lecture seule par l'url.

    J'ai donc déjà produit ça

    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
    <?php
    $ss = 'un_num_secu';
    $matricule = 'un_matricule';
    $url = "https://pr-api.omogen.blablabla/truc/machin/personnel/$ss";
    $headers = array(
      "X-Custom-Header: header-value",
      "Accept: application/json",
      "X-Omogen-Api-Key: ma_cle_api"
    );
     
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     
    $resp = curl_exec($ch);
     
    if($e = curl_error($ch)){
      echo $e;
    }
    else{
      $data = json_decode($resp);
      echo '<pre>';
      print_r($data);
      echo '</pre>';
    }
    curl_close($ch);
    L'identifiant unique du sous-traitant étant le numéro de sécu, j'accède bien à toutes les infos de la table personnel sur une personne.

    J'ai deux questions :

    - Dans mon entreprise, je ne stocke pas numéro de sécu mais le matricule de l'agent. Le matricule en question est bien dans le row retournée par l'autre entreprise.
    Mais comment moi je filtre par le matricule ? J'ai bien essayé des &, des /, etc. mais ça ne fonctionne pas.

    - Autre question, je ne sais pas davantage taper une url qui me renvoie, par exemple, tous les salariés de la ville de Lyon.

    Pardonnez la naïveté de mes questions, mais je passe de tout SQL à no SQL, c'est un sacré changement de paradigme, surtout vu mon grand âge !
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    ces 2 points sont gérés par l'API donc vous devez demander cela à la personne qui vous fournit cet accès.

    le filtre par matricule pourrait très bien se faire en mettant le hachage md5 du matricule dans l'url. ou d'un autre côté, il pourrait très bien ne pas avoir de filtre prévu et vous devrez tout récupérer et filtrer les résultats en php.

  3. #3
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Je viens de trouver ceci qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url = "https://pr-api.omogen.blablabla/truc/machin/personnel?matricule=$matricule";
    Me reste à régler le problème de la ville avec de multiples retours.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Mathieu, merci de votre réponse, mais j'explore en attendant le retour de mon sous-traitant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url = "https://pr-api.omogen.blablabla/truc/machin/personnel?affectations/ville=Lyon";
    J'avance bien. Sauf qu'il y a un "limit 20" que je ne sais pas contourner (j'attends beaucoup plus que ce nombre), et je ne sais pas comment l'on met un order by dans la barre d'adresse (encore que ceci peut se résoudre ensuite en PHP)...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Retour de mon sous-traitant : c'est bien 20 rows maxi par défaut mais je peux monter jusqu'à 100 avec un &size=100 dans l'url.
    Je vais explorer si je peux contourner le problème en décalant le offset sur plusieurs requêtes, ce qui n'est pas le cas pour l'instant.

    question suivante. Mon array PHP me renvoie un tableau à 2 dimensions et plus.
    Comment filtrer dans la barre d'adresse pour avoir mettons tous ceux nés après 1990 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
             [0](
                [etatCivil] => Array
                        [dateNaissance] => 1990-05-11
             )
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    d'habitude les api sont livrées avec une documentation de tous les paramètres utilisables.
    je pense que ça serait plus rapide si le sous-traitant vous envoyait cette documentation au lieu d'attendre que vous devinez de quoi vous avez besoin.

  7. #7
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    D'accord Mathieu, je comprends cette fois.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/06/2005, 10h56
  2. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51
  3. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  4. Questions de débutant
    Par J-P-B dans le forum XMLRAD
    Réponses: 12
    Dernier message: 24/07/2003, 15h19
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

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