You are not logged in.
Pages: 1
Bonjour,
J'utilise glpi 10.0.18
J'essai de mettre à jour l'habilitation d'un user via l'api rest
exemple pour le user 1690 à qui je veux appliquer l'id de profil 14 :
URL => https://xxxxxxxxxxx/apirest.php/User/1690
Méthode => PUT
Paramètre =>
{
"input":{"profiles": 14}
}
Je précise que le APP_Token et le Session-Token sont bien transmis dans le header et sont corrects. J'obtiens ce message en retour
[
"ERROR_GLPI_UPDATE",
"Vous n'avez pas les droits requis pour réaliser cette action."
]
Je suis allé dans glpi puis j'ai coché "Mettre à jour" pour "Utilisateurs" et "Profil" pour le profil "API" dans Administration > Profils puis onglet "Administration" mais j'ai toujours le même message.
Que faut-il autoriser de plus ?
Par avance merci.
Offline
En complément si je vérifie le profil actif de l'api je suis bien sur le bon profil "API"
apirest.php/getActiveProfil
"active_profile": {
"id": 28,
"name": "API",
.....
et au niveau de l'entité l'utilisateur de l'API a bien accès à toutes les entités (checké avec le endpoint getActiveEntities)
Offline
Bonjour,
A priori, personne ne sait comment mettre à jour ou supprimer une habiltation à un user via l'api ...
Peut-être que c'est impossible de remplacer une habilitation existante par une autre ou à défaut de remplacer, de supprimer une habilitation existante pour pouvoir en ajouter une autre...
Ex. j'ai un user avec un profile_id = 5 comment faire pour que le user est un profile_id = 4 à la place ?
Merci
Offline
il faut creer un lien entre l'utilisateur et le profil, pas mettre à jour le profil.
et comme pour l'interface graphique ajouter une profil (methode POST) et supprimer l'ancien;
methode POST (pour ajouter le profil
$payload='{"input":{"users_id":1690,"profiles_id":14,"entities_id":2,"is_recursive":0,"is_dynamic":0,"is_default_profile":0}}';
$url="/User/1690/Profile_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
Bonjour,
Merci pour le retour.
J'ai pu ajouter une habilitation avec le POST sur /User/1690/Profile_User. Encore merci.
Par contre j'ai essayé le DELETE sur la même route en passant l'id de profil dans l'url mais le profil concerné reste toujours associé à l'utilisateur.
J'ai une réponse 200 OK mais aucun message
method DELETE
URL : /apirest.php/User/1690/Profile_User/5
Est-ce que l'appel n'est pas correct ?
Offline
Non, l'API actuelle est un peu bizarre. Vous devez spécifier l'ID dans un corps JSON au lieu de l'URL comme ceci :
method DELETE
URL : /apirest.php/User/1690/Profile_User
{ input: { id: 5 } }
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
Bonjour,
Merci pour le retour avec l'exemple
Je partage l'avis sur l'aspect "bizarre" de l'api !
Pour information j'ai réussi à supprimer le profile à force d'essais...
Je donne la solution pour ceux que cela pourrait intéresser.
J'ai utilisé le DELETE sur la route suivante : apirest.php/User/1690/Profile_User/2062
En fait l'id 2062 (dans mon exemple) correspond à l’identifiant de l’enregistrement dans la table glpi_profiles_users et non pas à l'identifiant dans la table glpi_profiles
Merci en tout cas pour vos réponse
Offline
avec ../apirest.php/Profile_User/2062
le delete fonctionne sur ma version 10.0.18
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
API plus que déconcertante...
Enfin, problème st résolu, tout est bien qui fini bien !
Bonne fin de journée à tous et encore merci.
Offline
plutôt logique, vous ne voulez pas supprimer un profil mais le lien entre le profil et l'utilisateur
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