API:Alllinks
Appearance
| Cette page fait partie de la documentation de l'API MediaWiki Action. |
| Version de MediaWiki : | ≥ 1.11 |
La requête GET pour lister les liens qui pointent vers un espace de noms donné, classés par titre.
Ce module peut être utilisé comme $generator.
Documentation de l'API
Exemple
Par défaut, ce module retournera des doublons si une page contient plusieurs liens pointant vers le même espace de noms.
Cet exemple utilise alunique=1 pour supprimer tous les titres en double dans la réponse.
Requête GET
Liste des liens distincts (c.-à-d. pas de doublons) qui pointent vers l'espace de noms principal.
Réponse
{
"batchcomplete": "",
"continue": {
"alcontinue": "!!!!Hashtagging",
"continue": "-||"
},
"query": {
"alllinks": [
{
"ns": 0,
"title": "!"
},
{
"ns": 0,
"title": "!!"
},
{
"ns": 0,
"title": "!!!"
},
...
}
Exemple de code
Python
#!/usr/bin/python3
"""
get_alllinks.py
MediaWiki API Demos
Demo of `Alllinks` module: List links pointing to the given namespace.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "alllinks",
"alnamespace": "0",
"alunique": "1"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
LINKS = DATA["query"]["alllinks"]
for l in LINKS:
print(l["title"])
PHP
<?php
/*
get_alllinks.php
MediaWiki API Demos
Demo of `Alllinks` module: List links pointing to the given namespace.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "alllinks",
"alnamespace" => "0",
"alunique" => "1"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
foreach( $result["query"]["alllinks"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
JavaScript
/*
get_alllinks.js
MediaWiki API Demos
Demo of `Alllinks` module: List links pointing to the given namespace.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "alllinks",
alnamespace: "0",
alunique: "1"
};
url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
fetch(url)
.then(function(response){return response.json();})
.then(function(response) {
var links = response.query.alllinks;
for (var l in links) {
console.log(links[l].title);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_alllinks.js
MediaWiki API Demos
Demo of `Alllinks` module: List links pointing to the given namespace.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'alllinks',
alnamespace: '0',
alunique: '1'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var links = data.query.alllinks,
l;
for ( l in links ) {
console.log( links[ l ].title );
}
} );
Erreurs possibles
| Code | Info |
|---|---|
| badcontinue | Paramètre de continuation non valide. Vous devez passer la valeur d’origine renvoyée par la requête précédente. |
| invalidparammix | Le paramètre alprop=ids ne peut pas être utilisé avec alunique. Cela se produit lorsque vous utilisez
alprop=ids et alunique ensemble |
Notes supplémentaires
- Comme pour les autres modules de liens de API action, ce module renvoie les titres des pages qui pointent vers l'espace de noms, et non les URI exacts de ces pages.
- Ce module peut être utilisé comme un générateur.
- Les versions précédentes renverraient une erreur si l'utilisateur tentait d'exécuter ce module en tant que générateur et que
aluniqueétait défini sur true. Cela a été modifié dans la v1.24, pour permettre d'utiliser le module comme générateur même sialuniqueest true.
Voir aussi
- API:Backlinks – répertorie les liens vers une page donnée.
- API:Linkshere – similaire à API:Backlinks, obtient des liens vers une page donnée. Notez que, contrairement à API:Backlinks, qui est un module
list, API:Linkshere est un moduleprop. Voir les pages respectives sur API:Properties/fr et API:Lists/fr pour savoir comment ces deux types de modules diffèrent. - API:Links/fr – récupère les liens sur une ou des pages données.