You are not logged in.
Bonjour,
L'arrivé de cette API dans la dernière version m’intéresse afin de faire des script basé sur mon inventaire.
Après avoir tenté pendant un petit moment, j'ai du mal à faire fonctionner la fonction search items.
J'arrive à me connecter et récupérer un jeton de session avec la commande Invoke-RestMethod.
Pour ce qui est de la partie code:
$GLPI_api = "glpi-test/apirest.php/"
# Initialisation de la connexion à glpi
$headersInit = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headersInit.Add("Content-Type", 'application/json')
$headersInit.Add("Authorization", 'Basic cmJhbHNlOlJlZnJlNWMwSwD') # à convertir en base 64
$headersInit.Add("App-Token", 'frkjdh7cbfvfa5c6qquelt3gdg08104yzbula87fd') # à créer dans glpi
$SessionToken = Invoke-RestMethod "$($GLPI_api)initSession" -Method Get -Headers $headersInit
# header utilisé pour les requète après initialisation
$HeadersRequest = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$HeadersRequest.Add("Content-Type", 'application/json')
$HeadersRequest.Add("Session-Token", "$($SessionToken.session_token)")
$HeadersRequest.Add("App-Token", 'frkjdh7cbfvfa5c6qquelt3gdg08104yzbula87fd')
# première méthode
Invoke-RestMethod "$($GLPI_api)search/networkequipment?criteria\[0\]\[link\]\=AND\&criteria\[0\]\[itemtype\]\=networkequipment\&criteria\[0\]\[field\]\=4\&criteria\[0\]\[searchtype\]\=contains\&criteria\[0\]\[value\]\=Commutateur\" -Method Get -Headers $HeadersRequest
# seconde méthode
$body = @{
criteria = @{
field = 4
searchtype = "contains"
value = "Commutateur"
}
}
$body1 = $body | ConvertTo-Json
Invoke-RestMethod "$($GLPI_api)search/networkequipment" -Method Get -Headers $HeadersRequest -Body $body1
Je n'arrive pas à filtrer et me retrouve constamment avec les 50 premiers résultat de la table.
Suis je le seul à vouloir faire ça?
Et comment puis-je faire fonctionner les filtres de query?
Merci
Last edited by demaos (2016-10-21 16:27:38)
Offline
Alors j'ai trouvé une solution à une partie du problème avec la ligne suivante qui me ressort tous mes switchs affecté.
$List_Switch = $(Invoke-RestMethod "$($GLPI_api)networkequipment?range=0-1000" -Method Get -Headers $HeadersRequest) | select * | where networkequipmenttypes_id -EQ "2" | where states_id -EQ "2"
Mon problème maintenant est de récupérer l'ip associer au switch qui est stockée dans une table différente de la base.
Je n'arrive même pas à accéder à la liste des ip.
Connaissez vous l'itemtype pour la liste des IP?
Merci
Offline
Personne utilise cette nouvelle fonctionnalité?
Cdt
Offline
personne ne va te donner la réponse surtout, je cherche aussi mais c'est comme pisser dans un violon
Offline