Bonjour
je n'arrive pas à faire un PUT en PHP sur l'API
exemple de code :
$settings['api_url']='Point d'accès REST';
$settings['api_name']='Nom de la clé (header)';
$settings['api_key']='Valeur de la clé ';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_CUSTOMREQUEST =>'PUT',
CURLOPT_URL => $settings['api_url'].'/users/ANA?'.htmlspecialchars('name=nom name&login=monlogin&email=monmail@free.fr&password=XXXXXXXX&visible=1&color=03a9f4¬ification=1&address=&phone=&mobile=&job=&comment=&active=1&right=&team_id=1'),
CURLOPT_VERBOSE=> 1,
CURLOPT_HTTPHEADER => array($settings['api_name'].': '.$settings['api_key'])
));
$results=curl_exec($curl);
cela retourne vide.
ce code fonctionne bien pour le GET
Pouvez-vous m'aider.
merci
A propos de l'API
-
- Site Admin
- Posts: 428
- Joined: 31 Aug 2017, 15:58
Re: A propos de l'API
Bonjour
ce n'est pas la bonne façon de passer les paramètres en PUT.
voici un exemple :
$data = [
"name" => "user3 test",
"login" => "monlogin",
"email" => "monmail@free.fr",
.....................
.....................
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_URL => $settings['api_url'].'/users/monUser',
CURLOPT_HTTPHEADER => [
$settings['api_name'].': '.$settings['api_key'],
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode($data)
]);
ce n'est pas la bonne façon de passer les paramètres en PUT.
voici un exemple :
$data = [
"name" => "user3 test",
"login" => "monlogin",
"email" => "monmail@free.fr",
.....................
.....................
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_URL => $settings['api_url'].'/users/monUser',
CURLOPT_HTTPHEADER => [
$settings['api_name'].': '.$settings['api_key'],
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode($data)
]);