[RESOLU] API

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] API

Re: API

par GuillaumeLM » 17 mai 2022, 16:45

Bonjour,
bon, au final, on abandonne cette partie, donc sujet clos.
On verra peut-être plus tard.
Merci à tous quand même!

Re: API

par GuillaumeLM » 05 mai 2022, 17:14

Bonjour et désolé pour mon retour ultra rapide :p
Je regarde ça dès que je peux, cette fonction était un petit plus sur le projet, donc pas prioritaire du tout, mais merci et je reviens vers vous dès que j'en sais plus!!

Re: API

par @rthur » 29 avr. 2022, 13:46

Le problème est surtout de
1) s'identifier
2) effectuer l'action souhaitée tout en conservant la même session (et donc les cookies d'identification)

Voici un article qui explique bien la méthode "à l'ancienne" avec Curl et une méthode plus simple avec la librairie PHP Guzzle :
https://www.pixelite.co.nz/article/guzz ... ymfony-20/
https://docs.guzzlephp.org/en/stable/

Re: API

par Maitrepylos » 29 avr. 2022, 11:29

Bonjour, voici la définition de file_get_content()
file_get_contents — Lit tout un fichier dans une chaîne

Donc le comportement est attendu.
Si vous voulez envoyer une action, la doc de stream_context_create() préconise un fopen()

API

par GuillaumeLM » 28 avr. 2022, 17:44

Bonjour,
Je dois faire une liaison avec une API pour archiver des commandes.
Bien sur, les créateurs de l'API n'ont pas prévu de fonction pour cela.
J'ai trouvé comment archiver une commande via html et un formulaire en méthode POST en passant par la plateforme de l'API, j'ai aussi trouvé du code qui me semble être bon:
<?php
$postdata = http_build_query(
    array(
        'id' => 'xxx-xxx-xxx'
    )
);

$opts = array('https' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context = stream_context_create($opts);
$result = file_get_contents('https://xxxxxxxxxxx', false, $context);

var_dump($result);
MAIS, parce qu'il faut un mais, mon var_dump me renvoie la page de connexion à la plateforme, et là, je pêche complètement, comment faire pour passer cette étape de manière automatique? (Bon, en même temps la journée est presque terminée, j'ai plus les yeux en face des trous :roll: )