You are not logged in.
Pages: 1
Bonjour,
Je cherche à obtenir l'id d'un user en fonction de son nom via une requette HTTP.
Je me suis basé sur un ancien post qui préconisé cette commande : $url=$api_url . "/search/User?forcedisplay[0]=2&forcedisplay[1]=5&criteria[1][field]=1&criteria[1][searchtype]=2&criteria[1][value]=" . $username;
Malheureusement quand je tape ça, ça me donne toujours ce résultat :
{"totalcount":0,"count":0,"sort":1,"order":"ASC","content-range":"0--1/0"}
Voici mon url :
http://glpiurl/apirest.php/search/User/?forcedisplay[0]=2&forcedisplay[1]=34&is_deleted=0&criteria[0][field]=1&criteria[0][searchtype]=contains&criteria[0][value]="MonNom"/?Content-Type=application/json&session_token=$User_Token&App-Token=$AppToken
Si je tape celle-ci : http://glpi_url/apirest.php/User/?Content-Type=application/json&session_token=$Session_Token&App-Token=$App_Token, j'ai bien ma liste des utilisateurs
Auriez vous une idée ?
Merci
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
dans votre première requête le searchtype est 'contains' et pas '2'
$url=$api_url . "/search/User?forcedisplay[0]=2&forcedisplay[1]=5&criteria[1][field]=1&criteria[1][searchtype]=contains&criteria[1][value]=" . $username;
dans votre 2eme requete vous avez 2 ? il faut remplacer le 2eme ? par un "&"
je déplace dans la section API..
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Merci,
Malheureusement même en changeant j'ai toujours le même résultat.
Pour la valeur je dois bien la mettre entre guillemets ? Est-ce que ça doit être une valeur exacte du genre "NOM Prenom" ou est-ce que je peux mettre une valeur approximative ?
Merci encore
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
Ah sans les guillements ça fonctionne Merci bien
Par contre si je souhaite avoir juste la valeur de l'ID et rien d'autre c'est possible ?
Au lieu de ça :
{"totalcount":1,"count":1,"sort":1,"order":"ASC","data":[{"1":"prenom NOM","80":"Root entity > SOCIETE","2":24,"34":"Nom"}],"content-range":"0-0/1"}
Avoir ça :
24
Merci encore
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
criteria[1][field]=1 : vous faîtes une recherche sur l'identifiant, pas sur le nom
si vous voulez une rcherche sur le nom utilisez la colonne 34 : criteria[1][field]=34
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
attention vous aurez toujours un tableau en sortie car vous avez potentiellement des homonymes donc il faut prévoir plusieurs lignes
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Oui c'est vrai pour la gestion des homonymes il faut que je fasse gaffe.
Pour l'instant je cherche juste à récupérer la valeur de l'user_ID d'une personne pour la mettre dans une variable
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
si vous avez un et un seul ( faites les tests) resultat, mettez votre resulat dans la variable $json par exemple et
$obj = json_decode($json,true);
$id=$obj['data'][0][2];
et l id utilisateur est dans la variable $ID.
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Super ça marche nikel.
par contre où est ce qu'on peut trouver une explication pour les codes des paramètres qu'il faut mettre ?
Merci
Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL
Offline
$obj = json_decode($json,true); ça c'est une fonction php pour transformer un jsion en tableau php
$obj['data'][0][2];
le 'data" correspond au sous tableau le la réponse qui est indiquée ici : {"totalcount":1,"count":1,"sort":1,"order":"ASC","data":[{"1":"prenom NOM","80":"Root entity > SOCIETE","2":24,"34":"Nom"}],"content-range":"0-0/1"}
le [0] correspond à la première ligne du tableau (c'est du php)
le [2] correspond au code de la colonne GLPI (id) : le même que vous utilisez pour le forcedisplay
vous pouvez avoir toutes les correspondances code/colonne pour un item avec glpi/apirest.php/listSearchOptions/User/
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
une autre astuce pour avoir les codes :
allez dans l'interface GLPI, faite une recherche sur un paramètre ( par exemple "l'identifiant contient toto" et regardez l'url: vous trouverez l'index dedans (en fait il y a déjà la requète complète bien formatée, supprimez le token final
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Pages: 1