You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2021-04-07 14:21:40

aziz
Member
Registered: 2021-03-30
Posts: 4

Récupération des tickets via l'API REST (Java)

Bonjour,

Je développe une application Android qui me permettra dans un premier temps d'authentifier un utilisateur, et d'afficher tous les tickets qu'on lui a attribué (ainsi que leurs attributs: Etats, urgence, etc...).
J'ai activé l'API etc mais je n'ai pas bien saisis le principe des tokens etc. je vois pas comment je peux récupérer les donnés en s authentifiant avec le token dans mon code java sur android studio . aider moi svp
merci d'avance

Offline

#2 2021-04-07 15:37:52

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 667

Re: Récupération des tickets via l'API REST (Java)

Je ne connais PAS DU TOUT java. Mon commentaire sera donc relativement général pour l'usage de l'API. Je pars du principe que GLPI est installé en Anglais et que l'API est active (Setup > General > API > Enable Rest API).

1. le client API est lié à une IP ou une plage d'IP . Dans ce cas-ci, ce sera une grande plage, puisque ce sont des devices mobiles qui sont, je présume, en IP dynamique. Setup > General > API. Ce client API a un Application Token (par exemple cv6gboim3jnFIQ25cJedqJ4pRdu9M91FjwPfJtps). C'est lui qui autorise la connexion à l'API.
2. L'utilisateur a un API token (par exemple c6BRf8uJHPEr1AyDTdt2zn97S6EdMAHPXK6qTxlA) défini dans Administration > Users > [MonUtilisateur] > User > Remote Access Keys. Il sera aussi appelé "User Token".


Lors de l'utilisation de l'API, il faut d'abord initialiser la session.
Pour ça, on a besoin de
- URL de l'API
- Application Token
- Une méthode d'authentification de l'utilisateur. C'est soit son User Token OU une chaîne de caractères qui est l'encodage en Base64 de {login:password} du user.

On fait un GET sur apirest.php/initSession/ en  passant les informations ci-dessus dans le header. On récupère un session_token (par exemple 83af7e620c83a50a18d3eac2f6ed05a3ca0bea62)

Ensuite, quand on a le Session Token, on peut utiliser l'API en fonction des droits de l'utilisateur avec lequel on s'est connecté.
Pour ça, on doit passer le "Application Token" et le "Session Token" en header des commandes de l'API. On fait sa petite popote, on récupère, on ajoute, on modifie ou on efface des objets.

Quand on terminé, on tue la session avec un kill session à qui on donne le Session Token comme header.

Tout ça est documenté dans la page d'information de l'API disponible directement sur le serveur (quand l'API est active)  http(s)://[mon serveur GLPI]/apirest.php

Bon amusement :-)

Offline

Board footer

Powered by FluxBB