PHP Curl : perte des données POST si Authorization Bearer présent
Bonjour à tous,
J'ai un problème qui me fait tourner en rond : je voudrais faire un simple POST sur une API qui attend un token, donc en Authorization Bearer.
Si je fais cet appel depuis Jquery, tout marche très bien (ça écarte un souçi d'auth ou de traitement data coté API).
En Curl ça se complique : si je fais l'appel ci-dessous, ma requête est acceptée par l'API (donc Authorization OK) mais je n'ai aucune donnée POST qui passe.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| $params = array();
$params['titre'] = "Bonjour";
$params['objet'] = "On teste";
$headers = array(
'Content-Type: application/json',
sprintf('Authorization: Bearer %s', $access_token)
);
$params_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url_endpoint);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
print_r( curl_exec($ch)); |
Et pour avoir testé ce code sur un endpoint que je maitrise totalement, je m'aperçois effectivement que dès que je commente le header, donc :
Code:
//curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
Et bien mes données POST passent.
Merci d'avance pour votre aide !