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
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 :
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)
Hors ligne