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 2018-02-28 16:13:55

milou161185
Member
Registered: 2018-01-31
Posts: 16

API REST session_token

Bonjour, je n'arrive pas à obtenir mon "session_token" avec Postman. J'ai lu tous les sujets s'en rapprochant de près ou de loin, mais cela ne fonctionne pas. J'utilise GLPI 9.2.1 et j'ai mis comme headers Content-Type, user_token et app_token. Le message d'erreur qu'il me retourne est :"ERROR_APP_TOKEN_PARAMETERS_MISSING","le paramètre app_token est manquant; Afficher la documentation dans votre navigateur à localhost/glpi/apirest.php/#ERROR_APP_TOKEN_PARAMETERS_MISSING".


J'ai essayé avec Authorization: user_token mais j'obtient ce message :

Could not get any response
There was an error connecting to http://localhost/glpi/apirest.php/initSession.
Why this might have happened:
The server couldn't send a response:
Ensure that the backend is working properly
Self-signed SSL certificates are being blocked:
Fix this by turning off 'SSL certificate verification' in Settings > General
Proxy configured incorrectly
Ensure that proxy is configured correctly in Settings > Proxy
Request timeout:
Change request timeout in Settings > General

Je pense à une erreur de code mais je n'arrive pas à trouver ou.

Merci de votre aide !

Ci-joint une capture de PostMan pour éclairer un peu...
https://image.noelshack.com/fichiers/20 … 77-api.png

Last edited by milou161185 (2018-02-28 16:28:37)

Offline

#2 2018-03-01 15:56:08

milou161185
Member
Registered: 2018-01-31
Posts: 16

Re: API REST session_token

Bonjour, j'ai finalement reglé mon problème avec ce script :

<?php

$user_token = "xxxx";
$app_token = "xxxx";


$api_url="http://xxxx/glpi/apirest.php";
   
    $ch = curl_init();
    $url=$api_url . "/initSession?Content-Type=%20application/json&app_token=".$app_token ."&user_token=".$user_token;
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $json = curl_exec($ch);
    curl_close ($ch);
    $obj = json_decode($json,true);
    $sess_token = $obj['session_token'];
    $headers =array(
        'Content-Type: application/json',
        'App-Token: ' .$app_token,
        'Session-Token: '.$sess_token 
        );

Cordialement.

Offline

#3 2018-04-26 11:06:12

karimJ
Member
Registered: 2018-04-26
Posts: 9

Re: API REST session_token

Bonjour,
j'arrive pas a comprendre votre code :
$user_token = "xxxx";
$app_token = "xxxx";

les xxxx il faut le remplacer par un truc ou non ?
merci d'avance

Offline

#4 2018-04-26 11:16:39

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,146

Re: API REST session_token

$app_token = "xxxx";  vous le récupérez dans glpi : configuration>générale>onglet api>[full access from localhost] (ou un autre client selon votre besoin) et vous récupérez votre jeton qui en une chaine de 40 caractères.  (mais on ne publie pas nos mots de passe sur le forum c'est pour ça qu'on met des xxxx)

$user_token = "xxxx"; vous allez dans administration>utilisateurs>[MonUtilisateur]>onglet préférences>et vous avez dans le champ jeton d'API la valeur (40 caractères) il y a un jeton pour chaque utilisateur.


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#5 2018-04-26 11:38:08

karimJ
Member
Registered: 2018-04-26
Posts: 9

Re: API REST session_token

Merci d'abord pour votre réponse,
je ne trouve pas onglet api  sur  configuration>générale est ce que c'est normal ?

Offline

#6 2018-04-26 11:42:19

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,146

Re: API REST session_token

@karim : ouvrez un nouveau sujet sur le forum, la discussion sera plus claire pour tout le monde.


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#7 2018-04-26 11:46:06

karimJ
Member
Registered: 2018-04-26
Posts: 9

Re: API REST session_token

d'accord  je vais faire ça

Offline

#8 2018-04-26 16:23:48

karimJ
Member
Registered: 2018-04-26
Posts: 9

Re: API REST session_token

Re,
<?php

$user_token = "xxxx";
$app_token = "xxxx";


$api_url="http://xxxx/glpi/apirest.php";
   
    $ch = curl_init();
    $url=$api_url . "/initSession?Content-Type=%20application/json&app_token=".$app_token ."&user_token=".$user_token;
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $json = curl_exec($ch);
    curl_close ($ch);
    $obj = json_decode($json,true);
    $sess_token = $obj['session_token'];
    $headers =array(
        'Content-Type: application/json',
        'App-Token: ' .$app_token,
        'Session-Token: '.$sess_token 
        );
ce script je dois le tester sur postman ?

Offline

#9 2018-04-26 16:28:31

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,146

Re: API REST session_token

le script n'est pas complet, mais c'est une page php à mettre sur votre serveur apache.

sur postman vous devez adapter la syntaxe par exemple les headers sont sou la forme -H  xxxxxx

avez vous récupéré user-token et app-token ?


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#10 2018-04-26 17:44:46

karimJ
Member
Registered: 2018-04-26
Posts: 9

Re: API REST session_token

Oui Merci, j'ai réussi à les voir plus la session_token en utilisant postman, en plus de ça j'ai arrivé a voir les tickets (y)

pour la durée de  la session, vous avez des infos ou pas

Offline

Board footer

Powered by FluxBB