si7:configuration:glpi_gestionapirestpython
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| si7:configuration:glpi_gestionapirestpython [2021/03/04 21:49] – techer.charles_educ-valadon-limoges.fr | si7:configuration:glpi_gestionapirestpython [2021/03/05 12:03] (Version actuelle) – [Exécution de la requête en Python] techer.charles_educ-valadon-limoges.fr | ||
|---|---|---|---|
| Ligne 13: | Ligne 13: | ||
| Dans cette activité, vous allez **réutiliser** ce que vous avez expérimenté avec **Postman** pour exécuter des requêtes avec l' | Dans cette activité, vous allez **réutiliser** ce que vous avez expérimenté avec **Postman** pour exécuter des requêtes avec l' | ||
| + | |||
| + | ===== Préparer votre environnement Python ===== | ||
| + | Vous allez utiliser la bibliothèque **requests** de Python. Si nécesaier mettez à jour vote environnement python : | ||
| + | * mettre à jour pip | ||
| + | * installer le module requests | ||
| + | <code shell> | ||
| + | C:> python -m pip install --upgrade pip | ||
| + | C:> pip install request | ||
| + | </ | ||
| ===== Obtenir un jeton de session (Session-Token) ===== | ===== Obtenir un jeton de session (Session-Token) ===== | ||
| Ligne 20: | Ligne 29: | ||
| ==== Exécution de la requête avec cURL ==== | ==== Exécution de la requête avec cURL ==== | ||
| - | < | + | < |
| C:> curl -X GET -H " | C:> curl -X GET -H " | ||
| - | {" | + | { |
| + | | ||
| + | } | ||
| </ | </ | ||
| ==== Exécution de la requête en Python ==== | ==== Exécution de la requête en Python ==== | ||
| - | * script Python | + | * script Python |
| - | < | + | < |
| - | import | + | import |
| import requests | import requests | ||
| - | api = " | + | url = " |
| - | user_token | + | |
| - | App-Token | + | headers |
| + | | ||
| + | " | ||
| + | } | ||
| - | url = main_api + urllib.parse.urlencode({" | + | reponse |
| - | json_data | + | |
| - | print(json_data) | + | |
| + | if reponse.status_code == 200: | ||
| + | print(' | ||
| + | json_data = reponse.json() | ||
| + | print(json_data) | ||
| + | else: | ||
| + | print(' | ||
| + | </ | ||
| - | C:> curl -X GET -H "Authorization: | + | ==== Exécution de la requête en Powershell ==== |
| - | {" | + | * script Powershell **session_token.ps1** permettant d' |
| + | <code powershell> | ||
| + | $apptoken = "aaa..." | ||
| + | $usertoken = "uuu..." | ||
| + | $headers = @{ | ||
| + | "Authorization" | ||
| + | " | ||
| + | } | ||
| + | $baseURL = 'http:// | ||
| + | $url = $baseURL + "/ | ||
| + | $req = Invoke-RestMethod -Uri $url -Headers $headers | ||
| + | # conversion JSON => texte | ||
| + | $resultat = write-host $req | ConvertFrom-Json | ||
| + | write-host $resultat | ||
| </ | </ | ||
| + | ===== Requête pour obtenir la liste des entités accessibles à un utilisateur ===== | ||
| + | Pour la liste des entités vous devez exécuter la requête **getMyEntities** en renseignant des paramètres dans l' | ||
| + | * le jeton de session **Session-Token** que vous venez d' | ||
| + | * le jeton d' | ||
| + | |||
| + | ==== Exécution de la requête avec cURL ==== | ||
| + | <code json> | ||
| + | C:\>curl -X GET -H " | ||
| + | |||
| + | { " | ||
| + | { " | ||
| + | {" | ||
| + | ]} | ||
| + | </ | ||
| + | |||
| + | ==== Exécution de la requête en Python ==== | ||
| + | * script Python **getmyentities.py** permettant d' | ||
| + | <code python> | ||
| + | import json | ||
| + | import requests | ||
| + | url = " | ||
| + | |||
| + | headers | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | |||
| + | reponse = requests.get(url, | ||
| + | |||
| + | if reponse.status_code == 200: | ||
| + | print(' | ||
| + | json_data = reponse.json() | ||
| + | print(json_data) | ||
| + | else: | ||
| + | print(' | ||
| + | </ | ||
| + | |||
| + | ==== Exécution de la requête en Powershell ==== | ||
| + | * script Powershell **getmyentities.ps1** permettant d' | ||
| + | <code powershell> | ||
| + | $apptoken = " | ||
| + | $sessiontoken = " | ||
| + | $headers = @{ | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | $baseURL = ' | ||
| + | $url = $baseURL + "/ | ||
| + | $req = Invoke-RestMethod -Uri $url -Headers $headers | ||
| + | # conversion JSON => texte | ||
| + | $resultat = write-host $req | ConvertFrom-Json | ||
| + | write-host $resultat | ||
| + | </ | ||
| + | |||
| + | ==== Travail à faire ==== | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | **Travail à faire :** | ||
| + | Créer le script python **itemcomputer.py** permettant d' | ||
| + | |||
| + | Fonctionnement du script python : | ||
| + | * vous aurez à renseigner en début de script ou en ligne de commande | ||
| + | * l' | ||
| + | * le type d' | ||
| + | * le jeton d' | ||
| + | * il est nécessaire de faire un première requête afin d' | ||
| + | * une deuxième requête doit afficher ensuite les informations sur votre ordinateur pour l'**ID indiqué** (requête **getItem**) | ||
| + | |||
| + | </ | ||
| + | |||
| ==== Retour Activité A8 ==== | ==== Retour Activité A8 ==== | ||
| * [[glpi_gestionconfig_00|A8 - La gestion des configurations avec GLPI]] | * [[glpi_gestionconfig_00|A8 - La gestion des configurations avec GLPI]] | ||
si7/configuration/glpi_gestionapirestpython.1614890952.txt.gz · Dernière modification : 2021/03/04 21:49 de techer.charles_educ-valadon-limoges.fr
