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 2020-09-29 11:00:37

para
Member
Registered: 2020-09-29
Posts: 2

Création d'un computer

Bonjour,

Je souhaite ajouter un nouvel ordinateur dans GLPI via un formulaire PHP. J'utilise Guzzle pour faire des requêtes HTTP, ici une requête post pour ajouter un ordinateur.

Voici mon code :

        $app_token = 'xxx';
        $user_token = 'xxx';
        $base_uri = 'xxx/apirest.php/';
        $api_client = new Client(['base_uri' => "$base_uri"]); 
                $api_tokens = [
            'session_token' => $session_token,
            'app_token' => $app_token,
        ];
                $params = [
            'name' => $_POST['name'],
            'serial' => $_POST['serialnumber'],
            'contact' => strtoupper($_POST['lastname'])." ".ucfirst($_POST['firstname']),
            'computermodels_id' => $_POST['model'],
            'manufacturers_id' => $_POST['manufacturer'],
        ];
        $response = $api_client->post( 'Computer/?', [
            'form_params' => $params,
            'query' => $api_tokens,
        ]);
                $result = json_decode($response->getbody()->getContents());
                return $result

Cependant, j'obtiens cette erreur lors de l'envoie de ma requête : `400 Bad Request`, ERROR_BAD_ARRAY, input parameter must be an array of objects.
Le problème vient donc de ma façon de contruire $params mais je ne vois pas comment résoudre celà.

Merci d'avance

Last edited by para (2020-09-29 11:02:53)

Offline

#2 2020-09-29 11:15:22

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

Re: Création d'un computer

Hello,

Je n'ai pas de solution mais je voulais apporter mon soutient smile

J'utilise exclusivement le module PowerShell pour manipuler l'API. Je n'ai aucune compétence en PHP pour créer un tableau d'objets sad

Bon courage !

Offline

#3 2020-09-29 16:08:36

para
Member
Registered: 2020-09-29
Posts: 2

Re: Création d'un computer

Merci pour ta réponse, je suis apparement parvenu à régler ce problème simplement en créant un tableau d'objet de la façon suivant :

$paramsobj = json_decode(json_encode($params));

Mais nouveau problème, aucun computer est crée dans GLPI malgré que ma requête semble fonctionner, en effet la reponse envoyée est un statut 200.

Offline

#4 2020-09-30 09:28:08

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

Re: Création d'un computer

Encore une fois, Je n'ai aucune expérience de ce genre de chose en PHP.
En PowerShell, quand l'ajout d'un objet fonctionne, on récupère l'ID de l'objet qui a été créé.

Sorry, je ne sais pas vraiment aider plus :-/

Offline

Board footer

Powered by FluxBB