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-03-01 16:07:00

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

API REST url tache

Bonjour, je rencontre un soucis avec l'ajout de tâche dans un ticket via les API. J'utilise ce script, mais il me renvoie ce message d'erreur : ["ERROR_GLPI_ADD","Vous n'avez pas les droits requis pour réaliser cette action."]. J'ai bien vérifié que mon utilisateur avait tous les droits (profil super-admin, recursif). Cependant, j'arrive bien a créer un ticket avec le même user, mais pas à le modifier !

<?php

$user_token = "xxxxx";
$app_token = "xxxxx";


$api_url="http://xxxxx/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 
        );

//echo $sess_token;
//print_r($json);
$id_ticket="29107";

//$ticket_id = "29107";
$contenu_tache = "contenu de la tache";
$state = "2";
$users_id = "2259";
$actiontime = "300";

$url = $api_url . "/Ticket/".$id_ticket."/TicketTask/";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"input": {
    "ticket_id": "'.$id_ticket.'",
    "content": "'.$contenu_tache.'",
    "state": "'.$state.'",
    "actiontime": "'.$actiontime.'"
       }}'
);
$json = curl_exec($ch);
curl_close ($ch);

$obj = json_decode($json,true);
print_r($json);

?>

Last edited by milou161185 (2018-03-01 16:07:28)

Offline

#2 2018-04-19 14:26:22

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 3,981

Re: API REST url tache

il y a juste une petite faute de frappe il manque un s à tickets_id

curl_setopt($ch, CURLOPT_POSTFIELDS, '{"input": {
    "tickets_id": "'.$id_ticket.'",
    "content": "'.$contenu_tache.'",
    "state": "'.$state.'",
    "actiontime": "'.$actiontime.'"
       }}'
);


Trouver la panne avant de réparer...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.2.3(behaviours1.5.2+fusion9.2+1.0+applicatifs2.3.0+dashboard 0.8.9)hebergé sur serveur mutualisé.
*GLPI 9.3 RC2 en test (ubuntu 16.04 mariadb 10.2.4)

Offline

Board footer

Powered by FluxBB