1

Topic: [API 9.1.2] Récupérer l'user_id

Bonjour,

Question bête, mais je galère à trouver la réponse.
Comment récupérer l'id de l'user connecté à l'API ? Les méthodes getMyEntities, getActiveEntities ne fournissent que l'id du poste du l'utilisateur (post-only, admin...) mais j'ai pas trouvé l'id "normale".

Est-ce que quelqu'un aurait une idée ?

Merci d'avance.

2

Re: [API 9.1.2] Récupérer l'user_id

vous pouvez utiliser le endpoint : /getFullSession

$api_url="http://localhost/glpi/apirest.php";
$headers = [
'Content-Type: application/json',
'app-token: ' .$app_token,
'session-token: '.$sess_token 
];

$ch = curl_init();
$url=$api_url . "/getFullSession/";
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$json = curl_exec($ch);
curl_close ($ch);
$obj = json_decode($json,true);

$glpi_myuser_id =$obj['session']['glpiID'];
echo "<br/>ID utilisateur ".$glpi_myuser_id;
//**********il y a plein d'autres infos dans la réponse :*********;
print_r($obj);

Trouver la panne avant de réparer...
*GLPI 0.90.5+fusion90+1.0+behaviours0.90+reports+fields+appliances+pdf+badges+webservices PHP7.0 Mariadb10
*GLPI 9.1.3 (behaviours+DashBoard+fields+pdf)hebergé sur serveur mutualisé.

3

Re: [API 9.1.2] Récupérer l'user_id

Bonjour,

Comment récupérer l'id d'un utilisateur en effectuant une recherche via l'api ? Quand j'effectue une recherche je récupère uniquement le username et l'entité

Merci par avance

4

Re: [API 9.1.2] Récupérer l'user_id

Bonjour,

je le fais en 2 etapes :  recherche de l'utilisateur et de l'ID qui me renvoie un tableau avec l'ID puis recherche de l'utilisateur avec l'ID.

ATTENTION :  j'ai l'impression que la recherche ne focntionne qu'avec "contient [0]" et que equals[1] et notequals[2] renvoient la même chose :  donc il est possible d'avoir plusieurs réponses dans la recherche de l'ID (adaptez le code dans ce  cas)

$headers = [
'Content-Type: application/json',
'app-token: ' .$app_token,
'session-token: '.$sess_token  
];

/*****get user************/

$username="Ladenree";//username à rechercher;

$ch = curl_init();
$url=$api_url . "/search/User?criteria[0][field]=2&criteria[0][searchtype]=2&criteria[0][value]=&criteria[1][link]=AND&criteria[1][field]=1&criteria[1][searchtype]=2&criteria[1][value]=" . $username;
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$json = curl_exec($ch);
curl_close ($ch);
$obj = json_decode($json,true);
print_r($obj['data'][0]);
$user_id=$obj['data'][0][2];
echo "<br/> userid $user_id <br/>";$ch = curl_init();
$url=$api_url . "/User/" . $user_id;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$json = curl_exec($ch);
curl_close ($ch);
$obj = json_decode($json,true);
print_r($obj);
Trouver la panne avant de réparer...
*GLPI 0.90.5+fusion90+1.0+behaviours0.90+reports+fields+appliances+pdf+badges+webservices PHP7.0 Mariadb10
*GLPI 9.1.3 (behaviours+DashBoard+fields+pdf)hebergé sur serveur mutualisé.