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/04 22:20]
techer.charles_educ-valadon-limoges.fr
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://path/to/glpi/apirest.php/getMyEntities" +C:\>curl -X GET  -H "App-Token: aaa..." -H "Session-Token: sss..." "http://192.168.1.70/glpi/apirest.php/getMyEntities?is_recursive=true" 
-{"session_token":"sss..."}+ 
 +{ "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 **session_token.py** permettant d'obtenir un jeton de session +  * 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
-url = "http://path/to/glpi/apirest.php/initSession"+url = "http://path/to/glpi/apirest.php/getMyEntities?is_recursive=true"
    
 headers  = { headers  = {
-    "Content-Type": "application/json", +    "App-Token": "aaa...", 
-    "Authorization": "user_token uuu...", +    "Session-Token": "sss...",
-    "App-Token": "aaa..."+
 } }
  
Ligne 90: Ligne 110:
     print('error: ' + str(reponse.status_code))     print('error: ' + str(reponse.status_code))
 </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>
 +**Travail à faire :**
 +Créer le script python **itemcomputer.py** permettant d'afficher les informations sur votre ordinateur renseignées dans GLPI. 
 +
 +Fonctionnement du script python : 
 +  * vous aurez à renseigner en début de script ou en ligne de commande  ;
 +    * l'**ID** de votre ordinateur ;
 +    * le type d'élément (**itemtype**) : **Computer**
 +    * le jeton d'application communiqué par l'enseignant :   **App-Token** ;
 +  * 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**)
 +
 +</WRAP>
  
 ==== 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.1614892831.txt.gz · Dernière modification: 2021/03/04 22:20 de techer.charles_educ-valadon-limoges.fr