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-05-16 09:24:16

bastien
Member
Registered: 2008-09-07
Posts: 32

Update location - PUT return 200 but nothing

Bonjour,

J'essaye de mettre a jour via l'API la longitude et la latitude, j'ai un retour 200 OK mais rien ne se met à jour. J'ai testé sur 3 serveurs GLPI dont un fraichement installé sans plugin en dernière version 9.5.5.
J'ai déjà plusieurs requêtes API sur des mise à jour d'ordinateur et autre sans soucis. Es-ce que vous arrivez à mettre à jour chez vous?

url = "https://srvglpi/apirest.php/location/1?input[0][latitude]=-22.370287537928414&input[0][longitude]=166.44613573971841"

J'ai déja rencontré ce genre de soucis avec le pluging TAG ou il fallait modifier :

le fichier \plugins\fields\inc\autoload.php.
Dans la fonction autoload(), à la ligne 57, remplacer la ligne
return include($test);
par
return include_once($test);

Merci

Last edited by bastien (2021-05-16 09:27:06)

Offline

#2 2021-05-16 17:33:01

keepcool5283
Member
Registered: 2013-10-10
Posts: 158

Re: Update location - PUT return 200 but nothing

Salut,

C'est une mise à jour ou une création de l'information ? A voir entre POST et PUT dans ton code si ça marche mieux.

Cordialement


Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL

Offline

#3 2021-05-16 22:52:16

bastien
Member
Registered: 2008-09-07
Posts: 32

Re: Update location - PUT return 200 but nothing

Bonjour,

Le POST fonctionne bien, pas de soucis pour la création. C'est pour la mise à jour d'un lieu qui existe déja avec PUT (ou PATCH) que j'ai un prblème.
Tu arrives à faire un PUT sur la location ?
Merci

Offline

#4 2021-05-17 05:01:27

bastien
Member
Registered: 2008-09-07
Posts: 32

Re: Update location - PUT return 200 but nothing

J'ai de plus en plus de doute sur la config du NGINX. J'ai remarqué que sur un IIS il fallait autoriser les verb PUT et PATCH.
Si quelqu'un peux me donner sa config Nginx si le PUT fonctionne bien sur ;-)

Merci

Offline

#5 2021-05-17 10:09:04

bastien
Member
Registered: 2008-09-07
Posts: 32

Re: Update location - PUT return 200 but nothing

J'ai vérifier la conf du Nginx pour coller à la documentation mais je n'arrive toujours pas à faire de PUT. Je n'ai plus d'idée de test.

Offline

#6 2021-05-17 14:27:36

keepcool5283
Member
Registered: 2013-10-10
Posts: 158

Re: Update location - PUT return 200 but nothing

Effectivement sur IIS il faut rajouter le verbe PUT pour que la modification puisse être prise en compte.
Par contre NGINX je ne connais pas, désolé.

Il y a ça sur le net, je ne sais pas si ça va t'aider :

https://gridpane.com/kb/making-nginx-ac … tch-verbs/

Après si le PUT fonctionne pour d'autres item, ce n'est pas ça le problème

Last edited by keepcool5283 (2021-05-17 14:29:47)


Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL

Offline

#7 2021-05-18 10:09:03

bastien
Member
Registered: 2008-09-07
Posts: 32

Re: Update location - PUT return 200 but nothing

J'ai re vérifié et en faite c'est bien toutes les MAJ PUT que je n'arrive pas à faire.
J'ai testé le lien et la manip mais ça fonctionne pas, ou je fais mal. Je suis pas un grand expert sur Nginx. Je pense que je vais monter un autre serveur sous Apache pour éliminer les sources de problèmes.
Keepool5283 j'ai vu que tu as fais une appli c'est exactement ce que je suis entrain de faire mais avec PowerApps de Microsoft. Nous sommes tous sous iOS et le dev avec Swift est trop lourd comparé à PowerApps ou en deux jours j'ai fais tous mes écrans ( ou presque ).
Je vois que tu tournes avec PHP 8 c'est peux être aussi une piste car de ce que je comprends c'est PHP qui interprète les requêtes.
Merci

Offline

#8 2021-05-18 10:51:27

keepcool5283
Member
Registered: 2013-10-10
Posts: 158

Re: Update location - PUT return 200 but nothing

Effectivement j'ai fait une appli. Elle est toute récente car je l'ai publiée que ce weekend.
Je l'ai faite en Java sur Android Studio. J'y connaissais rien en Java il y a encore 6 mois. C'était l'occasion pour moi de découvrir et en même temps avoir une apps qui m'est utile au quotidien.
Avec du coup je peux :
- Gérer mes PC, changer les affectations, lieux, statuts, prix, etc...
- Gérer mes tickets, changer la catégorie et le statut
- Avoir une vue directement sur le PC et le téléphone affecté à un utilisateur
- Gérer mes téléphones, SIM et lignes

C'est bien pratique smile

Plus tard je rajouterai d'autres fonctionnalités je pense.

Bon elle est dispo que sur Android du coup.

N'étant pas développeur, je ne maitrise pas PowerApps ni d'autres langage d'ailleurs. Mais j'espère que tu t'en sortiras. Moi j'avais choisi Android Studio pour la facilité aussi à créer des visuel graphique.

Pour le PUT ça doit être un truc à la con. Je me rappelle que j'avais mis pas mal de temps à trouver pourquoi ça ne marchait pas chez moi au début...

Bon courage


Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL

Offline

#9 2021-05-19 10:24:40

bastien
Member
Registered: 2008-09-07
Posts: 32

Re: Update location - PUT return 200 but nothing

OK j'avance.

J'arrive à faire des MAJ PUT avec cette requette:

r = requests.put('https://monsrvglpi/apirest.php/Computer/',  headers = {'Session-Token':'1601l7a78vm0cqq7oks2t4imbm','App-Token':'hJeedDd72VKBZT7dI2PBc942LC70zDiPaTnYomL6','Content-Type': 'application/json'},data = json.dumps({"input": [{'id':'314',"uuid":'123456789'  } ] } ))


Alors que avec Postman j'ai une réponse 200 mais pas de message, c'est vide et rien ne se met a jour. Si je demande le code Python depuis Postman j'ai :


import requests
import json

url = "https://monsrvglpi/apirest.php/Computer?input[0][id]=314&input[0][uuid]=123456789"

payload={}
headers = {
  'Session-Token': '1601l7a78vm0cqq7oks2t4imbm',
  'App-Token': 'hJeedDd72VKBZT7dI2PBc942LC70zDiPaTnYomL6',
  'Content-Type': 'application/json'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)

***
je sèche si quelqu'un a une piste ?

Merci

Offline

#10 2021-05-19 11:26:27

keepcool5283
Member
Registered: 2013-10-10
Posts: 158

Re: Update location - PUT return 200 but nothing

Sous Postman de mon coté si je configure ça, ça fonctionne :

PUT https://serveurglpi/apirest.php/Location/?expand_drodpowns=true&session_token=m7hhc856571c88c2rfcvg28tq

BODY {"input":{"id":3,"latitude":"44.8389952","longitude":"-0.6256762"}}
Le body doit être configuré en "raw" et JSON


Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL

Offline

#11 2021-05-19 11:29:51

keepcool5283
Member
Registered: 2013-10-10
Posts: 158

Re: Update location - PUT return 200 but nothing

En PYTHON ça donne ça :

import requests
import json

url = "https://serveurGLPI/apirest.php/Location/?expand_drodpowns=true&session_token=m7hhc856571c88c2rfcvg28tq"

payload = json.dumps({
  "input": {
    "id": 3,
    "latitude": "44.8389952",
    "longitude": "-0.6256762"
  }
})
headers = {
  'Content-Type': 'application/json'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)


Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL

Offline

#12 2021-05-19 11:31:11

keepcool5283
Member
Registered: 2013-10-10
Posts: 158

Re: Update location - PUT return 200 but nothing

Ton Input devrait être dans le payload plutôt que dans l'URL


Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL

Offline

#13 2021-05-20 01:35:27

bastien
Member
Registered: 2008-09-07
Posts: 32

Re: Update location - PUT return 200 but nothing

Yes. Ca fonctionne. Merci pour le coup de main.
Je vais essayé de trouver un device autre de Apple pour tester ton appli et copier les bonnes idée ;-).
Merci

Offline

#14 2021-05-20 21:43:08

keepcool5283
Member
Registered: 2013-10-10
Posts: 158

Re: Update location - PUT return 200 but nothing

Top wink
N'hésites pas à me faire des retours sur l'appli si tu peux la tester. Je suis preneur de toutes évolutions.

D'ailleurs j'en profite pour remercier ceux du forum qui m'ont fait des bêtas test.


Apps Android GLPI Management : https://play.google.com/store/apps/deta … fr.dmn.app
Site Web : http://mdu-tech.fr/
GLPI 9.5.5 sur IIS 10 / PHP 8 / MySQL

Offline

#15 2021-05-25 04:26:08

bastien
Member
Registered: 2008-09-07
Posts: 32

Re: Update location - PUT return 200 but nothing

Problème résolu. Merci

Offline

Board footer

Powered by FluxBB