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
Member
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: 6,146

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...
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

Online

Board footer

Powered by FluxBB