You are not logged in.
Pages: 1
Bonjour,
Je désire associer un utilisateur à un groupe à l'aide de l'API rest (depuis du powershell). J'ai noté que le champs "groupe" est un onglet de la fiche utilisateur et non un champs encapsulé dans le form à la différence du champs groupe des équipements (ordinateur, écran..). Quelle est la syntaxe s'il vous plait ?
J'ai tenté le code suivant, mais j'obtiens une erreur 400 :
$uid="46xxx" #id de l'utilisateur
$grid ="17xx" #id du groupe
$Bodygrp = '{"input": {"users_id": "' + $uid + '"}}'
Invoke-RestMethod -Method patch -Uri "$AppURL/Group/$grid/Group_User" -Headers @{"Content-Type" = "application/json"; "session-token"=$SessionToken.session_token; "App-Token" = "$AppToken"} -Body $Bodygrp
Merci par avance.
Last edited by CozImAPI (2024-02-29 12:06:06)
Offline
Finalement, j'ai trouvé la solution.
La méthode POST à fonctionné dans mon cas plutôt que la méthode PATCH (Je craignais qu'un Post ne vide les autres utilisateurs déjà existants du groupe. Ce n'est pas ce qui est arrivé d'après ce que j'ai constaté). Je me suis rendu aussi compte qu'un utilisateur peut appartenir à plusieurs groupes différents alors qu'un équipement (ordinateur, écran..) ne peut appartenir qu'à un seul groupe unique (ce qui explique pourquoi le champs groupe est un onglet pour les utilisateurs et un champs de form pour les équipements).
Le script corrigé suivant a fonctionné sans webexception (erreur 400) :
$uid="46xxx" #id de l'utilisateur
$grid ="17xx" #id du groupe
$Bodygrp='{ "input" : {"itemtype": "User","groups_id": "' + $grid + '","users_id": "' + $uid + '", "is_dynamic":"0" ,"is_manager": "0" }}'
Invoke-RestMethod -Method post -Uri "$AppURL/Group/$grid/Group_User" -Headers @{"Content-Type" = "application/json; charset=utf-8"; "session-token"=$SessionToken.session_token; "App-Token" = "$AppToken"} -Body $Bodygrp
Offline
Pages: 1