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 : 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
$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 : Sélectionner tout - Visualiser dans une fenêtre à part
//curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
Et bien mes données POST passent.

Merci d'avance pour votre aide !