•  » Utilisation
  •  » Réponse de l'API n'a pas le bon format

#1 2024-11-09 15:31:48

scrutart
Membre
2024-11-09
1

Réponse de l'API n'a pas le bon format

Bonjour/Bonsoir,

J'utilise l'API. Les réponses sont au format XML alors que j'ai bien spécifié dans mes data d'entrée "format":"json" (en plus j'ai cru comprendre que json est le format par défaut)
Voilà un code python minimal qui illustre le problème
import requests
import configPiwigo as cp
url = "https://galleries.grains-de-culture.fr/ws.php"
auth_data = {
    "format": "json",    "method": "pwg.session.login",
    "username": cp.configPiwigo["login"], "password": cp.configPiwigo["pass"],
}
session = requests.Session()  # Crée une session persistante
response = session.post(url, data={**auth_data, **payload})
if response.ok and response.json().get("stat") == "ok":
    print("Connexion réussie!")

et voilà un extrait de la réponse:
response = {Response} <Response [200]>
...
content = {bytes: 64} b'<?xml version="1.0" encoding="utf-8" ?>\n<rsp stat="ok">\n1\n</rsp>'
headers = {CaseInsensitiveDict: 11} {'Date': 'Sat, 09 Nov 2024 14:26:46 GMT', 'Content-Type': 'text/xml; charset=utf-8', 'Transfer-Encoding': 'chunked', 'Connecti...=/,
...
ok = {bool} True
...
status_code = {int} 200
text = {str} '<?xml version="1.0" encoding="utf-8" ?>\n<rsp stat="ok">\n1\n</rsp>'
url = {str} 'https://galleries.grains-de-culture.fr/ws.php'

où on voit que la réponse est ok, le Content-Type text/xml, et surtout le content et le text sont du xml.

Y a-t-il quelque chose de plus à faire pour obtenir une réponse en json? Quoi?


Version de Piwigo: 15.0.0
Version de PHP: 8.1
Version de MySQL:
URL Piwigo: http://galleries.grains-de-culture.fr/

Hors ligne

#2 2024-11-12 11:54:46

Linty
Équipe Piwigo
2023-10-20
26

Re: Réponse de l'API n'a pas le bon format

Bonjour,

Je pense que c'était vous sur github non :D ?
[Github] Piwigo issue #2272

Du coup pour répondre aussi ici, si vous pouvez essayer de mettre directement dans l'url le format et la méthode :

Code:

ws.php?format=json&method=pwg.session.login

Dans Piwigo lorsqu'on utilise l'API on le fait généralement comme ça et je pense que ça peut résoudre votre problème

Dernière modification par Linty (2024-11-12 11:55:04)


“Une aventure entre passion et logique.”

Hors ligne

  •  » Utilisation
  •  » Réponse de l'API n'a pas le bon format

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact