API:Data formats/fr
Cette page fait partie de la documentation de l'API MediaWiki Action. |
Entrées
L'API récupère ses entrées à partir des paramètres fournis dans la requête HTTP dans le format application/x-www-form-urlencoded
ou multipart/form-data
.
(unlike REST API, the Action API currently does not support application/json input format.)
Chaque module et chaque sous-module a sa propre liste de paramètres, qui sont listés dans la documentation et dans action=help. Ils peuvent également être récupérés par action=paraminfo .
Encodage
Toute entrée doit être du UTF-8 valide, sous la forme NFC. MediaWiki essayera de convertir les autres formats, ce qui pourra éventuellement générer des erreurs.
Paramètres multi-valeurs
Les paramètres qui prennent plusieurs valeurs sont normalement envoyés avec les valeurs séparées par une barre verticale (caractère pipe |
), par exemple param=value1|value2
.
Si une valeur contient le caractère pipe lui-même, utilisez U+001F (séparateur unitaire) comme séparateur et préfixez la valeur avec U+001F, par exemple param=%1Fvalue1%1Fvalue2
.
Pour savoir si un paramètre accepte plusieurs valeurs, lisez explicitement la documentation du module.
Paramètres booléens
Si un paramètre booléen figure dans une requête HTTP, il est considéré à true
quelle que soit sa valeur. Pour que sa valeur soit false
, il suffit de ne pas le fournir.
La meilleure manière de spécifier une valeur à true
dans une requête HTTP est d'utiliser unParam=
; ce qui suit le =
assure que l'explorateur où la bibliothèque HTTP ne supprimera pas le "vide" de unParam.
Horodatages
Les paramètres qui contiennent des valeurs de références horaires (horodatage) acceptent des valeurs de temps sous différents formats :
- format ISO 8601:
2008-08-23T18:05:46Z
. - Format de l'horodatage interne de MediaWiki :
20080823180546
. - Format de l'horodatage interne MySQL:
2008-08-23 18:05:46
. - Format de l'horodatage UNIX
1219514746
(nombre de secondes depuis le 1er janvier 1970).
En sortie, les horodatages sont toujours au format ISO 8601.
Sortie
Le format de sortie standard et par défaut de MediaWiki est JSON. Tous les autres formats ne sont pas recommandés.
Le format de sortie doit toujours être spécifié en utilisant format=yourformat
avec yourformat égal à l'une des valeurs suivantes :
json
: format JSON (recommandé)php
: format PHP sérialisé (obsolète)xml
: format XML (obsolète)txt
: format PHP print_r() (supprimé en 1.27)dbg
: format PHP var_export() (supprimé en 1.27)yaml
: format YAML (supprimé en 1.27)wddx
: format WDDX (supprimé en 1.26)dump
: format PHP var_dump() (supprimé en 1.26)none
: Renvoie une réponse vide. 1.21+
Exemple
Réponse
{
"query": {
"pages": {
"217225": {
"pageid": 217225,
"ns": 0,
"title": "Main page"
}
}
}
}
Tous les modules permettent d'utiliser n'importe quel format générique pour les informations de sortie - sauf indication contraire.
Pour simplifier le débogage, tous les formats génériques possèdent aussi l'option « mise en forme HTML améliorée pour l'impression » avec le suffixe fm
par exemple jsonfm
.
Paramètres JSON
Les paramètres suivants peuvent être utilisés avec format=json
et format=jsonfm
:
utf8
: Encode la plupart des (mais pas tous) caractères non-ASCII en UTF-8 au lieu de les remplacer par des séquences d'échappement hexadécimales. Type: boolean.ascii
: Encode tous les caractères non-ASCII en utilisant les séquences d'échappement hexadécimales. Type: boolean.formatversion
: Formatage de la sortie. 1.25+1
: Format de compatibilité arrière, utilise les clés*
pour les nœuds de contenu, encode les caractères non-ASCII en utilisant des séquences d'échappement hexadécimales.2
: Format moderne. Renvoie les réponses dans un format plus propre, encode la plupart des caractères non-ASCII en UTF-8. (recommandé)
callback
: La réponse est au format JSON et se fait par un appel à une fonction JavaScript pour inclure le résultat. Par mesure de sécurité ces réponses ignorent les cookies de session du navigateur et répondent sans donner d'informations spécifiques à l'utilisateur actuellement connecté. Cela signifie que les fonctionnalités suivantes sont désactivées par mesure de sécurité :- Les jetons ne peuvent pas être obtenus, donc les actions de modification d'état ne sont pas possibles.
- Le client est traité comme un utilisateur anonyme (c'est-à-dire non connecté) pour tous les sujets, même après s'être connecté via action=login . Cela signifie que les modules qui nécessitent des droits supplémentaires ne fonctionneront pas à moins que le wiki cible permette aux utilisateurs anonymes de les utiliser.
Notes supplémentaires
- les formats de sortie XML et PHP sont obsolètes mais encore utilisés. Les clients écrits en PHP doivent éviter d'utiliser le format PHP parce qu'il n'est strictement pas sécurisé. Il est gardé pour l'instant simplement à cause de sa popularité.
- Il existe beaucoup de bibliothèques de conversion et de convertisseurs en ligne pour transformer les réponses JSON en d'autres formats; par exemple, JSON-CSV convertit en liste de valeurs séparées par des virgules .
- Les modules de flux tels que les flux des modifications récentes réécrasent le format standard de sortie, au lieu d'utiliser RSS ou Atom, comme spécifié par leur paramètre
feedformat
. Dans ces cas, le format spécifié par le paramètreformat
n'est utilisé que s'il y a une erreur.
Voir aussi
- API:Erreurs et avertissements - Contient des formats pour les avertissements et les erreurs.
- Maintenu par MediaWiki Interfaces Team.
- Discussion en direct (IRC): #mediawiki-core connecter
- Suivi des problèmes : Phabricator MediaWiki-Action-API (rapporter un problème)