Outils pour utilisateurs

Outils du site


si7:configuration:glpi_gestionapirestpython

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
si7:configuration:glpi_gestionapirestpython [2021/03/05 09:58]
techer.charles_educ-valadon-limoges.fr [Exécution de la requête en Python]
si7:configuration:glpi_gestionapirestpython [2021/03/05 12:03] (Version actuelle)
techer.charles_educ-valadon-limoges.fr [Exécution de la requête en Python]
Ligne 29: Ligne 29:
  
 ==== Exécution de la requête avec cURL ==== ==== Exécution de la requête avec cURL ====
-<code shell>+<code json>
 C:> curl -X GET -H "Authorization: user_token uuu..." -H "App-Token: aaa..." "http://path/to/glpi/apirest.php/initSession" C:> curl -X GET -H "Authorization: user_token uuu..." -H "App-Token: aaa..." "http://path/to/glpi/apirest.php/initSession"
-{"session_token":"sss..."}+{ 
 +  "session_token":"sss..." 
 +}
 </code> </code>
  
 ==== Exécution de la requête en Python ==== ==== Exécution de la requête en Python ====
   * script Python **session_token.py** permettant d'obtenir un jeton de session   * script Python **session_token.py** permettant d'obtenir un jeton de session
-<code shell>+<code python>
 import json import json
 import requests import requests
Ligne 42: Ligne 44:
    
 headers  = { headers  = {
-    "Content-Type": "application/json", 
     "Authorization": "user_token uuu...",     "Authorization": "user_token uuu...",
     "App-Token": "aaa..."     "App-Token": "aaa..."
Ligne 57: Ligne 58:
 </code> </code>
  
 +==== Exécution de la requête en Powershell ====
 +  * script Powershell **session_token.ps1** permettant d'obtenir un jeton de session
 +<code powershell>
 +$apptoken = "aaa..."
 +$usertoken = "uuu..."
 +$headers = @{
 +   "Authorization" = "user_token "  + $usertoken
 +   "App-Token" = $apptoken 
 +}
 +$baseURL = 'http://path/to/glpi/apirest.php'
 +$url = $baseURL + "/initSession"
 +$req = Invoke-RestMethod -Uri $url -Headers $headers 
 +# conversion JSON => texte 
 +$resultat = write-host $req | ConvertFrom-Json 
 +write-host $resultat
 +</code>
 ===== Requête pour obtenir la liste des entités accessibles à un utilisateur ===== ===== 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'entête (**Headers**) : Pour la liste des entités vous devez exécuter la requête **getMyEntities** en renseignant des paramètres dans l'entête (**Headers**) :
Ligne 63: Ligne 80:
  
 ==== Exécution de la requête avec cURL ==== ==== Exécution de la requête avec cURL ====
-<code shell>+<code json>
 C:\>curl -X GET  -H "App-Token: aaa..." -H "Session-Token: sss..." "http://192.168.1.70/glpi/apirest.php/getMyEntities?is_recursive=true" C:\>curl -X GET  -H "App-Token: aaa..." -H "Session-Token: sss..." "http://192.168.1.70/glpi/apirest.php/getMyEntities?is_recursive=true"
  
-{"myentities":[{"id":1,"name":"Entité racine > Bâtiment 1"},{"id":2,"name":"Entité racine > Bâtiment 1 > Etage 0"},{"id":0,"name":"Entité racine"}]} +{ "myentities":[{"id":1,"name":"Entité racine > Bâtiment 1"}, 
 +                { "id":2,"name":"Entité racine > Bâtiment 1 > Etage 0"}, 
 +                {"id":0,"name":"Entité racine"} 
 +               ]}
 </code> </code>
  
 ==== Exécution de la requête en Python ==== ==== Exécution de la requête en Python ====
   * script Python **getmyentities.py** permettant d'obtenir la liste des entités (de manière récursive)   * script Python **getmyentities.py** permettant d'obtenir la liste des entités (de manière récursive)
-<code shell>+<code python>
 import json import json
 import requests import requests
Ligne 92: Ligne 111:
 </code> </code>
  
 +==== Exécution de la requête en Powershell ====
 +  * script Powershell **getmyentities.ps1** permettant d'obtenir la liste des entités (de manière récursive)
 +<code powershell>
 +$apptoken = "aaa..."
 +$sessiontoken = "sss..."
 +$headers = @{
 +   "Session-Token" = $sessiontoken
 +   "App-Token" = $apptoken 
 +}
 +$baseURL = 'http://path/to/glpi/apirest.php'
 +$url = $baseURL + "/getMyEntities"
 +$req = Invoke-RestMethod -Uri $url -Headers $headers 
 +# conversion JSON => texte 
 +$resultat = write-host $req | ConvertFrom-Json 
 +write-host $resultat
 +</code>
 +
 +==== Travail à faire ====
  
 <WRAP center round todo> <WRAP center round todo>
Ligne 98: Ligne 135:
  
 Fonctionnement du script python :  Fonctionnement du script python : 
-  * vous aurez à renseigner en début de script ou en ligne de commande l'ID de votre ordinateur +  * vous aurez à renseigner en début de script ou en ligne de commande  
-  la requête à utiliser est **Get an item** ; +    l'**ID** de votre ordinateur 
- +    le type d'élément (**itemtype**) : **Computer** 
-Votre script doit utiliser les variables que vous devez renseigner avec les informations suivantes  :  +    le jeton d'application communiqué par l'enseignant :   **App-Token** 
-  * type d'élément (itemtype) : **Computer** +  * il est nécessaire de faire un première requête afin d'obtenir le jeton de session (requête **initSession**); 
-   +  * une deuxième requête doit afficher ensuite les informations sur votre ordinateur pour l'**ID indiqué** (requête **getItem**)
- +
-L'URL de la requête **Get an item** est de la forme : **apirest.php/:itemtype/:id** +
- +
-Cela signifie que l'URL de votre requête pour l'ordinateur dont l'ID est 24 doit être : **apirest.php/Computer/24**  +
- +
-**Information** : Les types d'équipement sont les suivants : Computer, NetworkEquipment, Peripheral, Phone, Printer+
  
 </WRAP> </WRAP>
si7/configuration/glpi_gestionapirestpython.1614934685.txt.gz · Dernière modification: 2021/03/05 09:58 de techer.charles_educ-valadon-limoges.fr