You are not logged in.
Bonjour,
Je suis en train d'écrire un code php pour créer des utilisateurs au travers de l'api.
Voici le format json que j'envoie :
{"input":{"name":"sdupont","realname":"DUPONT","firstname":"Sandrine","password":"$2y$10$H1.bGyef23qzzRd.SNF.U.Ejr8Ugywpb5374GpE4uaBJ8fYuz9lV.","entities_id":"3"}}
Mais l'entité lors de la création de l'utilisateur reste sur la root entity et ne prend pas en compte l'id fournit....
Tout le reste est bien pris en compte....
Je bloque un peu
Offline
Bonjour,
Il n'existe pas de concept d'affectation d'entité directement sur les utilisateurs. Au lieu de cela, les entités sont « affectées » dans les affectations de profil.
De plus, lors de la création d'un utilisateur via l'API, le champ de mot de passe doit être le mot de passe en texte brut et vous devez également définir "password2" sur la même chose pour imiter le champ de confirmation du mot de passe qui se trouve dans l'interface utilisateur Web.
GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.
Offline
Merci du retour, si je comprend bien, je dois faire une seconde passe avec l'id de l'utilisateur créé pour affecter un profil ? un peu comme pour les mails ?
Offline
Ok grâce à votre aide j'ai trouvé. Par contre il me laisse tout de même l'entité root en plus de celle que j'affecte à l'utilisateur. Mon code au cas où... :
$url3=$api_url."/User/".$id."/Profile_User";
$data2['users_id'] = $id;
$data2['profiles_id'] = 1;
$data2['entities_id'] = 3;
$data2['is_recursive'] = 0;
$input2 = array(
"input" => $data2
);
$data_string2 = json_encode($input2);
print_r($data_string2);
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url3);
curl_setopt($ch2, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch2, CURLOPT_POST, 1);
curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch2, CURLOPT_POSTFIELDS, $data_string2);
$request_result2 = curl_exec($ch2);
if(curl_errno($ch2)) {
echo 'Curl error: ' . curl_error($ch2);
}
echo ("\n".$request_result2."\n");
curl_close ($ch2);
Offline