API:REST API/Reference
REST API vám umožňuje komunikovat s MediaWiki odesíláním požadavků HTTP na jedinečné adresy URL. Pomocí API můžete vytvářet aplikace a skripty, které prohledávají stránky wiki a prozkoumávají historii stránek.
Vyhledávání
Verze MediaWiki: | ≥ 1.35 |
Objekt výsledků hledání
Objekt výsledků hledání představuje stránku wiki odpovídající požadovanému vyhledávání.
Příklad
{
"id": 38930,
"key": "Jupiter",
"title": "Jupiter",
"excerpt": "<span class=\"searchmatch\">Jupiter</span> is the fifth planet from the Sun and the largest in the Solar System. It is a gas giant with a mass one-thousandth that of the Sun, but two-and-a-half",
"matched_title": null,
"description": "fifth planet from the Sun and largest planet in the Solar System",
"thumbnail": {
"mimetype": "image/jpeg",
"size": null,
"width": 200,
"height": 200,
"duration": null,
"url": "//upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Jupiter_and_its_shrunken_Great_Red_Spot.jpg/200px-Jupiter_and_its_shrunken_Great_Red_Spot.jpg"
}
}
Schéma
id
required | integer |
Identifikátor stránky
|
key
required | string |
Název stránky ve formátu vhodném pro adresy URL
|
title
required | string |
Název stránky ve formátu vhodném pro čtení
|
excerpt
required | string |
|
matched_title
optional | string |
Název přesměrované stránky, pokud hledaný výraz původně odpovídal přesměrovací stránce, nebo null, pokud hledaný výraz neodpovídá přesměrované stránce.
|
description
required | string |
V projektech Wikimedie: Krátké shrnutí tématu stránky na základě odpovídajícího záznamu na Wikidata nebo null , pokud žádný záznam neexistuje. Viz Extension:ShortDescription k vyplnění tohoto pole v instalacích třetích stran.
|
thumbnail
required | object |
Informace o obrázku miniatury stránky nebo null , pokud žádná miniatura neexistuje.
|
Hledání stránek
Path | /search/page?q=search terms
|
Method | GET
|
---|---|---|---|
Content type | application/json
|
Returns | pages objekt obsahující pole výsledků vyhledávání
|
Vyhledá v názvech a obsahu wiki stránek zadané hledané výrazy a vrátí odpovídající stránky.
Tento koncový bod používá vyhledávač nakonfigurovaný v konfiguračním nastavení $wgSearchType a vrací výsledky ve jmenných prostorech nakonfigurovaných $wgNamespacesToBeSearchedDefault.
Příklady
curl
# Search English Wikipedia for up to 20 pages containing information about Jupiter
$ curl "https://en.wikipedia.org/w/rest.php/v1/search/page?q=jupiter&limit=20"
Python
# Search English Wikipedia for up to 20 pages containing information about Jupiter
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/search/page'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
params = {
'q': 'jupiter',
'limit': '20'
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)
PHP
<?php
/*
Search English Wikipedia for up to 20 pages containing information about Jupiter
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/search/page";
$params = [ "q" => "jupiter", "limit" => "20" ];
$url = $url . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Search English Wikipedia for up to 20 pages containing information about Jupiter
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/search/page";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
let params = {
'q': 'jupiter',
'limit': '20'
};
let query = Object.keys(params)
.map(k => k + '=' + encodeURIComponent(params[k]))
.join('&');
url = url + '?' + query;
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
q
required | query | string |
Hledané výrazy |
limit
optional | query | string |
Maximální počet výsledků hledání, které se mají vrátit,je mezi 1 až 100. Výchozí: 50 |
Odpovědi
200 | Úspěch: Výsledky nalezeny. Vrátí objekt pages obsahující pole výsledků hledání.
|
---|---|
200 | Úspěch: Nebyly nalezeny žádné výsledky. Vrátí objekt pages obsahující prázdné pole.
|
400 | Parametr dotazu není nastaven. Přidejte parametr q .
|
400 | Požadovaný neplatný limit. Nastavte parametr limit na hodnotu mezi 1 a 100.
|
500 | Chyba vyhledávání |
Název stránky automatického doplňování
Path | /search/title?q=search terms
|
Method | GET
|
---|---|---|---|
Content type | application/json
|
Returns | pages objekt obsahující pole výsledků vyhledávání
|
Vyhledá názvy stránek wiki a vrátí shody mezi začátkem názvu a zadanými vyhledávacími výrazy. Tento koncový bod můžete použít pro vyhledávání typeahead, které automaticky navrhuje relevantní stránky podle názvu.
Tento koncový bod používá vyhledávač nakonfigurovaný v konfiguračním nastavení $wgSearchType a vrací výsledky ve jmenných prostorech nakonfigurovaných $wgNamespacesToBeSearchedDefault . Výsledky se mohou lišit v závislosti na nakonfigurovaném backendu vyhledávání. Zatímco výchozí backend používá pouze základní case folding a předpony, pokročilejší backendy mohou používat složitější varianty. Například v případě CirrusSearch jsou shody založeny na Elastic Search dokončení navrhovatele.
Příklady
curl
# Search English Wikipedia for up to 5 pages with titles that start with "solar"
$ curl "https://en.wikipedia.org/w/rest.php/v1/search/title?q=solar&limit=5"
Python
# Search English Wikipedia for up to 5 pages with titles that start with "solar"
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/search/title'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
params = {
'q': 'solar',
'limit': '5'
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)
PHP
<?php
/*
Search English Wikipedia for up to 5 pages with titles that start with "solar"
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/search/title";
$params = [ "q" => "solar", "limit" => "5" ];
$url = $url . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Search English Wikipedia for up to 5 pages with titles that start with "solar"
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/search/title";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
let params = {
'q': 'solar',
'limit': '5'
};
let query = Object.keys(params)
.map(k => k + '=' + encodeURIComponent(params[k]))
.join('&');
url = url + '?' + query;
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
q
required | query | string |
Hledané výrazy |
limit
optional | query | string |
Maximální počet výsledků hledání, které se mají vrátit,je mezi 1 až 100. Výchozí: 50 |
Odpovědi
200 | Úspěch: Výsledky nalezeny. Vrátí objekt pages obsahující pole výsledků hledání.
|
---|---|
200 | Úspěch: Nebyly nalezeny žádné výsledky. Vrátí objekt pages obsahující prázdné pole.
|
400 | Parametr dotazu není nastaven. Přidejte parametr q .
|
400 | Požadovaný neplatný limit. Nastavte parametr limit na hodnotu mezi 1 a 100.
|
500 | Chyba vyhledávání |
Stránky
Verze MediaWiki: | ≥ 1.35 |
Objekt stránky
Objekt stránky představuje nejnovější revizi stránky wiki.
Příklad
{
"id": 9228,
"key": "Earth",
"title": "Earth",
"latest": {
"id": 963613515,
"timestamp": "2020-06-20T20:05:55Z"
},
"content_model": "wikitext",
"license": {
"url": "//creativecommons.org/licenses/by-sa/3.0/",
"title": "Creative Commons Attribution-Share Alike 3.0"
},
"html_url": "https://en.wikipedia.org/w/rest.php/v1/page/Earth/html"
}
Schéma
id
required | integer |
Identifikátor stránky
|
key
required | string |
Název stránky ve formátu vhodném pro adresy URL
|
title
required | string |
Název stránky ve formátu vhodném pro čtení
|
latest
required | object |
Informace o nejnovější revizi, včetně:
|
content_model
required | string |
Typ obsahu na stránce. Viz referenční informace o obslužných programech obsahu, kde najdete modely obsahu podporované MediaWiki a rozšíření.
|
license
required | map of strings |
Informace o licenci wiki, včetně:
|
html_url
required | string (Get page only) |
Cesta API k načtení obsahu stránky v HTML
|
html
required | string (Získejte stránku offline only) |
Nejnovější obsah stránky v HTML podle HTML specifikace
|
source
required | string (Získat zdroj stránky, vytvořit stránku a aktualizovat stránku only) |
Nejnovější obsah stránky ve formátu určeném vlastností content_model
|
Objekt jazyka stránky
Objekt jazyka stránky představuje stránku wiki a její jazyk.
Příklad
{
"code": "pl",
"name": "polski",
"key": "Ziemia",
"title": "Ziemia"
}
Schéma
code
required | string |
Kód jazyka. Pro projekty Wikimedie se podívejte na matici stránek na Meta-Wiki.
|
name
required | string |
Přeložený název jazyka
|
key
required | string |
Přeložený název stránky ve formátu vhodném pro adresy URL
|
title
required | string |
Přeložený název stránky ve formátu vhodném pro čtení
|
Vytvoření stránky
Path | /page
|
Method | POST
|
---|---|---|---|
Accepts | application/json
|
Body | viz schéma níže |
Content type | application/json
|
Returns | Objekt stránky s vlastností source
|
Vytvoří stránku wiki. Odpověď obsahuje hlavičku location
obsahující koncový bod API pro načtení nové stránky.
Tento koncový bod je navržen pro použití s procesem autorizace rozšíření OAuth extension.
Volající, kteří místo toho používají ověřování založené na souborech cookie, musí do těla požadavku přidat CSRF token
.
Chcete-li získat token CSRF, podívejte se na Action API.
Příklady
curl
# Create a user sandbox page on English Wikipedia
$ curl -X POST https://en.wikipedia.org/w/rest.php/v1/page -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" --data '{"source": "Hello, world!", "title": "User:<my username>/Sandbox", "comment": "Creating a test page with the REST API"}'
Python
# Create a user sandbox page on English Wikipedia
import requests
import json
url = 'https://en.wikipedia.org/w/rest.php/v1/page'
# Substitute your OAuth token
headers = {
'User-Agent' : 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)',
'Content-Type' : 'application/json',
'Authorization': 'Bearer $TOKEN'
}
# Substitute your username
request_data = {
"source" : "Hello, world!",
"title" : "User:<my username>/Sandbox",
"comment": "Creating a test page with the REST API"
}
response = requests.post( url, headers=headers, data = json.dumps(request_data) )
output = response.json()
print(output)
PHP
<?php
/*
Create a user sandbox page on English Wikipedia
*/
$url = 'https://en.wikipedia.org/w/rest.php/v1/page';
// Substitute your username
$fields = [
'source' => 'Hello, world!',
'title' => 'User:<my username>/Sandbox',
'comment' => 'Creating a test page with the REST API'
];
$json = json_encode( $fields );
$token = 'YOUR_OAUTH_TOKEN'; // Substitute your OAuth token
$authorization = 'Authorization: Bearer ' . $token;
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json' , $authorization ));
curl_setopt( $ch, CURLOPT_USERAGENT, 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)' );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
echo( $output );
?>
JavaScript
/*
Create a user sandbox page on English Wikipedia
Substitute your OAuth token for $TOKEN.
Substitute your username for <my username>.
*/
async function doFetch() {
const response = await fetch(
"https://en.wikipedia.org/w/rest.php/v1/page",
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer $TOKEN'
},
body: JSON.stringify({
"source" : "Hello, world!",
"title" : "User:<my username>/Sandbox",
"comment": "Creating a test page with the REST API"
}),
'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
);
const data = await response.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Schéma požadavku
source
required | string |
Obsah stránky ve formátu určeném vlastností content_model
|
title
required | string |
Název stránky. Informace o názvech stránek na MediaWiki najdete v příručce. |
comment
required | string |
Důvod vytvoření stránky. Chcete-li umožnit vyplnění komentáře serverem, použijte "comment": null .
|
content_model
optional | string |
Typ obsahu na stránce. Výchozí hodnota je wikitext . Viz referenční informace o obslužných programech obsahu, kde najdete modely obsahu podporované MediaWiki a rozšíření.
|
token
optional | string |
Token CSRF je vyžadován při použití ověřování založeného na souborech cookie. Při autorizaci pomocí OAuth tuto vlastnost vynechejte. |
Odpovědi
201 | Úspěch: Stránka byla vytvořena. Vrátí objekt stránky s vlastností source .
|
---|---|
400 | Chybí token při použití ověřování založeného na souborech cookie. Přidejte CSRF token do těla požadavku nebo použijte autorizační tok OAuth.
|
400 | Špatný model obsahu. Zahrňte platný content_model na základě dostupných obslužných nástrojů obsahu.
|
409 | Stránka již existuje |
415 | Nepodporovaný typ obsahu. Přidejte záhlaví požadavku Content-Type: application/json .
|
Aktualizace stránky
Cesta | /page/{title}
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | PUT
|
Návraty | Objekt stránky s vlastností source
|
Aktualizuje nebo vytvoří stránku wiki.
Tento koncový bod je navržen pro použití s procesem autorizace rozšíření OAuth.
Volající, kteří místo toho používají ověřování založené na souborech cookie, musí do těla požadavku přidat CSRF token
.
Chcete-li získat token CSRF, podívejte se na Action API.
Chcete-li aktualizovat stránku, potřebujete ID poslední revize stránky a zdroj stránky.
Nejprve zavolejte koncový bod získat zdroj stránky a poté použijte source
a latest.id
k aktualizaci stránky.
Pokud latest.id
neodpovídá poslední revizi stránky, API vyřeší konflikty automaticky, pokud je to možné.
V případě konfliktu úprav rozhraní API vrátí chybu 409.
Chcete-li vytvořit stránku, vynechejte latest.id
z požadavku.
Příklady
curl
# Update the sandbox page on English Wikipedia with "Hello, world!"
$ curl -X PUT https://en.wikipedia.org/w/rest.php/v1/page/Wikipedia:Sandbox -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" --data '{"source": "Hello, world!", "comment": "Testing out the REST API", "latest": { "id": 555555555 }}'
Python
# Update the sandbox page on English Wikipedia with "Hello, world!"
import requests
import json
url = "https://en.wikipedia.org/w/rest.php/v1/page/Wikipedia:Sandbox"
# Substitute your OAuth token
headers = {
"User-Agent" : "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)",
"Content-Type" : "application/json",
"Authorization" : "Bearer $TOKEN"
}
# Use the get page endpoint to get the latest revision ID
request_data = {
"source" : "Hello, world!",
"comment": "Testing out the REST API",
"latest" : { "id": 555555555 }
}
response = requests.put( url, headers=headers, data = json.dumps(request_data) )
output = response.json()
print(output)
PHP
<?php
/*
Update the sandbox page on English Wikipedia with "Hello, world!"
*/
$page = 'Wikipedia:Sandbox';
$endpoint = 'https://en.wikipedia.org/w/rest.php/v1/page/';
$url = $endpoint . $page;
// Use the get page endpoint to get the latest revision ID
$fields = [
'source' => 'Hello, world!',
'comment' => 'Testing out the REST API',
'latest' => [
'id' => 555555555
]
];
$json = json_encode( $fields );
$token = 'YOUR_OAUTH_TOKEN'; // Substitute your OAuth token
$authorization = 'Authorization: Bearer ' . $token;
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'PUT' );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization ));
curl_setopt( $ch, CURLOPT_USERAGENT, 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)' );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
echo( $output );
?>
JavaScript
/*
Update the sandbox page on English Wikipedia with "Hello, world!"
Substitute your OAuth token for $TOKEN.
Use the get page endpoint to get the latest revision ID.
*/
async function doFetch() {
const response = await fetch(
"https://en.wikipedia.org/w/rest.php/v1/page/Wikipedia:Sandbox",
{
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer $TOKEN'
},
body: JSON.stringify({
"source": "Hello, world!",
"comment": "Testing out the REST API",
"latest": { "id": 555555555 }
}),
'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
);
const data = await response.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path |
Název wiki stránky |
Schéma požadavku
source
required | string |
Obsah stránky ve formátu určeném vlastností content_model
|
comment
required | string |
Shrnutí úpravy. Chcete-li umožnit vyplnění komentáře serverem, použijte "comment": null .
|
latest
optional | object |
Objekt identifikující základní revizi úpravy. Tyto informace můžete získat z koncového bodu zdroje stránky. |
latest.id
optional | integer |
Identifikátor revize použitý jako základ pro novou source , která je vyžadována pro aktualizaci existující stránky. Chcete-li vytvořit stránku, tuto vlastnost vynechejte.
|
content_model
optional | string |
Typ obsahu na stránce. Výchozí hodnota je wikitext pro nové stránky nebo pro model obsahu stávající stránky. Viz referenční informace o obslužných rutinách obsahu pro modely obsahu podporované MediaWiki a rozšíření.
|
token
optional | string |
Token CSRF je vyžadován při použití ověřování založeného na souborech cookie. Při autorizaci pomocí OAuth tuto vlastnost vynechejte. |
Odpovědi
200 | Úspěch: Stránka aktualizována. Vrátí objekt stránky s vlastností source .
|
---|---|
201 | Úspěch: Stránka byla vytvořena. Vrátí objekt stránky s vlastností source .
|
400 | Chybí token při použití ověřování založeného na souborech cookie. Přidejte CSRF token do těla požadavku nebo použijte autorizační tok OAuth.
|
400 | Špatný model obsahu. Ujistěte se, že vlastnost content_model v těle požadavku odpovídá vlastnosti content_model pro cílovou stránku.
|
409 | Stránka již existuje. Chcete-li aktualizovat stávající stránku, zadejte v těle požadavku identifikátor základní revize v latest.id .
|
409 | Upravit konflikt. Chybová odpověď zahrnuje rozdíly mezi základní revizí uvedenou v požadavku a poslední publikovanou revizí. Informace o formátu rozdílu najdete v Wikidiff2 docs. Vyžaduje rozšíření Wikidiff2 1.10+. |
415 | Nepodporovaný typ obsahu. Přidejte záhlaví požadavku Content-Type: application/json .
|
Získání stránky
Cesta | /page/{title}/bare
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | Objekt stránky s vlastností html_url
|
Vrátí standardní objekt stránky pro stránku wiki, včetně trasy API pro načtení nejnovějšího obsahu v HTML, licence a informací o nejnovější revizi.
Příklady
curl
# Get information about the Jupiter article on English Wikipedia
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare"
Python
# Get information about the Jupiter article on English Wikipedia
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get information about the Jupiter article on English Wikipedia
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get information about the Jupiter article on English Wikipedia
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path |
Název wiki stránky |
Odpovědi
200 | Úspěch: Stránka byla nalezena. Vrátí stránku s vlastností html_url .
|
---|---|
301 |
Přesměrování normalizace názvu |
404 | Název nebo revize nebyla nalezena |
Získání stránky offline
Cesta | /page/{title}/with_html
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | Objekt stránky s vlastností html
|
Vrátí informace o stránce wiki, včetně licence, poslední revize a nejnovějšího obsahu v HTML.
Příklady
curl
# Get HTML and metadata for the Jupiter article on English Wikipedia
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html"
Python
# Get HTML and metadata for the Jupiter article on English Wikipedia
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get HTML and metadata for the Jupiter article on English Wikipedia
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get HTML and metadata for the Jupiter article on English Wikipedia
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path | string |
Název wiki stránky |
redirect
optional | query | bool |
Chcete-li nesledovat přesměrování wiki, nastavte na no .
|
Odpovědi
200 | Úspěch: Stránka byla nalezena. Vrátí stránku s vlastností html .
|
---|---|
301 | Přesměrování normalizace názvu |
307 | Přesměrování wiki |
404 | Název nebo revize nebyla nalezena |
Získání zdroje stránky
Cesta | /page/{title}
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | Objekt stránky s vlastností source
|
Vrátí obsah stránky wiki ve formátu určeném vlastností content_model
, licencí a informacemi o nejnovější revizi.
Příklady
curl
# Get source and metadata for the Jupiter article on English Wikipedia
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter"
Python
# Get source and metadata for the Jupiter article on English Wikipedia
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get source and metadata for the Jupiter article on English Wikipedia
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get source and metadata for the Jupiter article on English Wikipedia
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path |
Název wiki stránky |
Odpovědi
200 | Úspěch: Stránka byla nalezena. Vrátí stránku s vlastností source .
|
---|---|
301 |
Přesměrování normalizace názvu |
404 | Název nebo revize nebyla nalezena |
Získání HTML
Cesta | /page/{title}/html
|
Typ obsahu | text/html
|
---|---|---|---|
Metoda | GET
|
Návraty | HTML stránky ve formátu HTML |
Vrátí nejnovější obsah stránky wiki v HTML.
Příklady
curl
# Get the content of the Jupiter article on English Wikipedia in HTML
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html"
Python
# Get the content of the Jupiter article on English Wikipedia in HTML
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get the content of the Jupiter article on English Wikipedia in HTML
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get the content of the Jupiter article on English Wikipedia in HTML
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path | string |
Název wiki stránky |
redirect
optional | query | bool |
Chcete-li nesledovat přesměrování wiki, nastavte na no .
|
Odpovědi
200 | Úspěch. Vrátí HTML stránky ve formátu HTML. |
---|---|
301 | Přesměrování normalizace názvu |
307 | Přesměrování wiki |
404 | Název nebo revize nebyla nalezena |
Získání jazyků
Cesta | /page/{title}/links/language
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | Pole stránky jazyků |
Vyhledá připojené wiki stránky se stejným tématem v různých jazycích. Vrátí pole jazykových objektů stránky, které obsahuje název jazyka, kód jazyka a přeložený název stránky.
Příklady
curl
# Find articles from other Wikipedias linked to the Jupiter article on English Wikipedia
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language"
Python
# Find articles from other Wikipedias linked to the Jupiter article on English Wikipedia
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Find articles from other Wikipedias linked to the Jupiter article on English Wikipedia
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Find articles from other Wikipedias linked to the Jupiter article on English Wikipedia
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path |
Název wiki stránky |
Odpovědi
200 | Úspěch: Jazyky byly nalezeny. Vrátí pole jazyků stránky. |
---|---|
404 | Titul nenalezen |
Získání souborů na stránce
Cesta | /page/{title}/links/media
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | files objekt obsahující pole souborů
|
Vrátí informace o mediálních souborech použitých na stránce wiki.
Příklady
curl
# Get media files used on the Jupiter article on English Wikipedia
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media"
Python
# Get media files used on the Jupiter article on English Wikipedia
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get media files used on the Jupiter article on English Wikipedia
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get media files used on the Jupiter article on English Wikipedia
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path |
Název wiki stránky |
Odpovědi
200 | Úspěch: Byly nalezeny mediální soubory. Vrátí files objekt obsahující pole souborů.
|
---|---|
200 | Úspěch: Nebyly nalezeny žádné mediální soubory. Vrátí files objekt obsahující prázdné pole.
|
404 | Titul nenalezen |
400 | Stránka obsahuje více než 100 mediálních souborů |
Transformace
Verze MediaWiki: | ≥ 1.41 |
Koncový bod transformace poskytuje konverzi mezi wikitextem a HTML za běhu.
Převedení Wikitextu do HTML
Cesta | /transform/wikitext/to/html/{title}
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | POST
|
Užitečné zatížení | Transformovat tělo požadavku pomocí source
|
Návraty | HTML dokument. |
Převede wikitext do HTML.
Příklady
curl
# Render wikitext in the context of the Jupiter page on English Wikipedia, without modifying the page:
$ curl -X POST -H "Content-Type: application/json" --data '{ "wikitext": "== Hello Jupiter ==" }' 'https://en.wikipedia.org/w/rest.php/v1/transform/wikitext/to/html/Jupiter'
Parametry
title
required | path |
Název wiki stránky, používaný pro kontext |
Odpovědi
200 | Úspěch: Tělo odpovědi obsahuje vykreslený kód HTML. |
---|
Převedení HTML na Wikitext
Cesta | /transform/html/to/wikitext/{title}
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | POST
|
Užitečné zatížení | Transformovat tělo požadavku pomocí HTML
|
Návraty | wikitextový dokument. |
Převede wikitext do HTML.
Příklady
curl
# Generate wikitext from HTML, in the context of the Jupiter page on English Wikipedia:
$ curl -X POST -H "Content-Type: application/json" --data '{ "html": "<h2> hello World </h2>" }' 'https://en.wikipedia.org/w/rest.php/v1/transform/html/to/wikitext/Jupiter'
Parametry
title
required | path |
Název wiki stránky, používaný pro kontext |
Odpovědi
200 | Úspěch: Tělo odpovědi obsahuje wikitext. |
---|
Transformování těla požadavku
Struktura užitečného zatížení pro požadavky na transformaci.
Příklad
Pro převod wikitextu do HTML:
{
"wikitext": "Hello World"
}
Pro převod HTML na Wikitext:
{
"html": "<h2>Hello World</h2>"
}
Mediální soubory
Verze MediaWiki: | ≥ 1.35 |
Objekt souboru
Objekt file představuje soubor nahraný na wiki.
Příklad
{
"title": "The Blue Marble.jpg",
"file_description_url": "//commons.wikimedia.org/wiki/File:The_Blue_Marble.jpg",
"latest": {
"timestamp": "2011-12-07T05:11:41Z",
"user": {
"id": 811185,
"name": "Ultimate Roadgeek"
}
},
"preferred": {
"mediatype": "BITMAP",
"size": null,
"width": 599,
"height": 599,
"duration": null,
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/The_Blue_Marble.jpg/599px-The_Blue_Marble.jpg"
},
"original": {
"mediatype": "BITMAP",
"size": 7011595,
"width": 3000,
"height": 3002,
"duration": null,
"url": "https://upload.wikimedia.org/wikipedia/commons/7/78/The_Blue_Marble.jpg"
},
"thumbnail": {
"mediatype": "BITMAP",
"size": null,
"width": 1023,
"height": 1024,
"duration": null,
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/The_Blue_Marble.jpg/1023px-The_Blue_Marble.jpg"
}
}
Schéma
title
required | string |
Název souboru |
file_description_url
required | string |
Adresa URL stránky popisující soubor, včetně informací o licenci a dalších metadat |
latest
required | object |
Objekt obsahující informace o nejnovější revizi souboru, včetně:
|
preferred
required | object |
Informace o preferovaném formátu náhledu souboru, původním formátu a formátu miniatur, včetně:
|
original
required | object | |
Pouze Získat soubor
required | object |
Získání souboru
Cesta | /file/{title}
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | Soubor |
Vrátí informace o souboru, včetně odkazů na stažení souboru v miniaturách, náhledech a původních formátech.
Příklady
curl
# Get File:The_Blue_Marble.jpg on Wikimedia Commons
$ curl "https://en.wikipedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg"
Python
# Get File:The_Blue_Marble.jpg on Wikimedia Commons
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get File:The_Blue_Marble.jpg on Wikimedia Commons
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get File:The_Blue_Marble.jpg on Wikimedia Commons
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
Parametr | Popis |
---|---|
title
required | path |
Název souboru |
Odpovědi
200 | Úspěch: soubor nalezen. Vrátí soubor. |
---|---|
404 | Titul nenalezen |
Historie
Verze MediaWiki: | ≥ 1.35 |
Objekt revize
Objekt revize představuje změnu na wiki stránce.
Příklad
{
"id": 931281281,
"page": {
"id": 38930,
"title": "Jupiter"
},
"size": 126009,
"minor": false,
"timestamp": "2019-12-18T01:39:24Z",
"user": {
"id": 27015025,
"name": "InternetArchiveBot"
},
"comment": "Bluelinking 2 books for [[WP:V|verifiability]].) #IABot (v2.1alpha3",
"delta": 231
}
Schéma
id
required | integer |
Identifikátor revize |
Pouze Získat revizi
required | object |
Objekt obsahující informace o stránce, včetně:
|
user
required | object |
Objekt obsahující informace o uživateli, který provedl úpravu, včetně:
U anonymních uživatelů obsahuje |
timestamp
required | string |
Čas úpravy ve formátu ISO 8601 |
comment
required | string |
Okomentujte nebo upravte shrnutí napsané editorem. U revizí bez komentáře API vrátí null nebo "" .
|
size
required | integer |
Velikost revize v bajtech |
delta
required | integer |
Počet změněných bajtů, kladných nebo záporných, mezi revizí a předchozí revizí (příklad: -20 ). Pokud předchozí revize není k dispozici, API vrátí null .
|
minor
required | boolean |
Nastavit na hodnotu true pro úpravy označené jako minor |
html_url
required | string (Get revision only) |
Cesta API k načtení obsahu revize v HTML
|
html
required | string (Získat revizi pomocí HTML only) |
Revize obsahu v HTML podle specifikace HTML
|
source
required | string (Získat zdroj revize only) |
Obsah revize ve formátu určeném vlastností content_model
|
Získání historie stránky
Cesta | /page/{title}/history
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | Segment historie stránky |
Vrátí informace o nejnovějších revizích na stránku wiki v segmentech po 20 revizích, počínaje nejnovější revizí. Odpověď zahrnuje trasy API pro další nejstarší, další nejnovější a nejnovější segmenty revize, což vám umožní procházet historií stránky.
Příklady
curl
# Get revisions made to the Jupiter article on English Wikipedia by bots prior to revision 939967546
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history?filter=bot&older_than=939967546"
Python
# Get revisions made to the Jupiter article on English Wikipedia by bots prior to revision 939967546
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
params = {
'filter': 'bot',
'older_than': '939967546'
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)
PHP
<?php
/*
Get revisions made to the Jupiter article on English Wikipedia by bots prior to revision 939967546
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history";
$params = [ "filter" => "bot", "older_than" => "939967546" ];
$url = $url . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get revisions made to the Jupiter article on English Wikipedia by bots prior to revision 939967546
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
let params = {
'filter': 'bot',
'older_than': '939967546'
};
let query = Object.keys(params)
.map(k => k + '=' + encodeURIComponent(params[k]))
.join('&');
url = url + '?' + query;
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path |
Název wiki stránky |
older_than
optional | query |
Přijímá ID revize. Vrátí dalších 20 revizí starších než dané ID revize. |
newer_than
optional | query |
Přijímá ID revize. Vrátí dalších 20 revizí novějších než dané ID revize. |
filter
optional | query |
Filtr, který vrací pouze revize s určitými značkami, jednou z:
Rozhraní API podporuje jeden filtr na požadavek. |
Odpovědi
200 | Úspěch: Byly nalezeny revize. Vrátí segment historie stránky. |
---|---|
200 | Úspěch: Nebyly nalezeny žádné revize. Vrátí segment historie stránky s prázdným polem revisions .
|
400 | Identifikátor revize musí být větší než 0 |
400 | Parametry older_than a newer_than nelze specifikovat
|
400 | Neplatný parametr |
404 | Název nebo revize nebyla nalezena |
Schéma odezvy
latest
required | string |
Cesta API k získání nejnovějších revizí |
older
optional | string |
Pokud je k dispozici, směrujte API k získání předchozích revizí |
newer
optional | string |
Pokud je k dispozici, směrujte API k získání následujících revizí |
revisions
required | array |
Pole 0–20 objektů revize |
Získání počtů historie stránek
Cesta | /page/{title}/history/counts/{type}
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | Objekt počítání historie |
Vrátí data o historii stránky.
Příklady
curl
# Get the number of edits to a page between revisions 384955912 and 406217369
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits?from=384955912&to=406217369"
Python
# Get the number of edits to a page between revisions 384955912 and 406217369
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
params = {
'from': '384955912',
'to': '406217369'
}
response = requests.get(url, headers=headers, params=params)
data = response.json()
print(data)
PHP
<?php
/*
Get the number of edits to a page between revisions 384955912 and 406217369
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits";
$params = [ "from" => "384955912", "to" => "406217369" ];
$url = $url . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get the number of edits to a page between revisions 384955912 and 406217369
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
let params = {
'from': '384955912',
'to': '406217369'
};
let query = Object.keys(params)
.map(k => k + '=' + encodeURIComponent(params[k]))
.join('&');
url = url + '?' + query;
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
title
required | path |
Název wiki stránky |
type
required | path |
Typ počítání, jeden z:
|
from
optional | query |
Pouze pro typy edits a editors
Omezuje počet mezi dvěma revizemi určenými pomocí ID revize. Parametry dotazu |
to
optional | query |
Odpovědi
200 | Úspěch |
---|---|
400 | Neplatný parametr nebo kombinace parametrů |
404 | Název nebo revize nebyla nalezena |
500 | Počet drobných úprav přesáhne 2000 |
Schéma odezvy
count
required | integer |
Hodnota datového bodu až do limitu typu. Pokud hodnota překročí limit, rozhraní API vrátí limit jako hodnotu count a nastaví vlastnost limit na true.
|
limit
required | boolean |
Vrátí hodnotu true, pokud datový bod překročí limit typu. |
Získání revize
Path | revision/{id}/bare
|
Method | GET
|
---|---|---|---|
Content type | application/json
|
Returns | Revize |
Vrátí podrobnosti pro jednotlivou revizi.
Příklady
curl
# Get information about revision 764138197
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare"
Python
# Get information about revision 764138197
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get information about revision 764138197
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get information about revision 764138197
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
id
required | path | string |
ID revize |
Odpověď
200 | Úspěch: Nalezena revize. Vrátí revizi. |
---|---|
404 | Revize nenalezena |
Získání zdroje revize
Path | revision/{id}
|
Method | GET
|
---|---|---|---|
Content type | application/json
|
Returns | Revize |
Vrátí podrobnosti pro jednotlivou revizi.
Příklady
curl
# Get the wikitext of revision 764138197
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/764138197"
Python
# Get the wikitext of revision 764138197
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/revision/764138197'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get the wikitext of revision 764138197
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get the wikitext of revision 764138197
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
id
required | path | string |
ID revize |
Odpovědi
200 | Úspěch: Nalezena revize. Vrátí revizi. |
---|---|
404 | Revize nenalezena |
Získání HTML revize
Path | revision/{id}/html
|
Method | GET
|
---|---|---|---|
Content type | text/HTML
|
Returns | Revize |
Vrátí HTML pro jednotlivou revizi.
Příklady
curl
# Get HTML of revision 764138197
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/html"
Python
# Get HTML of revision 764138197
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/revision/764138197/html'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get HTML of revision 764138197
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/html";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get HTML of revision 764138197
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/html";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
id
required | path | string |
ID revize |
Odpovědi
200 | Úspěch: Revize nalezena. Vrátí obsah revize jako HTML. |
---|---|
404 | Revize nenalezena |
Získání informace o revizi pomocí HTML
Path | revision/{id}/with_html
|
Method | GET
|
---|---|---|---|
Content type | application/json
|
Returns | Revize |
Vrátí HTML a metadata pro jednotlivou revizi.
Příklady
curl
# Get information about revision 764138197 along with rendered HTML
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/with_html"
Python
# Get information about revision 764138197 along with rendered HTML
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/revision/764138197/with_html'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Get information about revision 764138197 along with rendered HTML
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/with_html";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Get information about revision 764138197 along with rendered HTML
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/with_html";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
id
required | path | string |
ID revize |
Odpovědi
200 | Nalezena revize. Vrátí revizi. |
---|---|
404 | Revize nenalezena |
Porovnání revizí
Cesta | revision/{from}/compare/{to}
|
Typ obsahu | application/json
|
---|---|---|---|
Metoda | GET
|
Návraty | Formát rozdílu JSON Wikidiff2 |
Vrátí data, která vám umožní zobrazit porovnání dvou revizí řádek po řádku. (Viz příklad.) Lze porovnávat pouze textové wiki stránky.
Nainstalujte Wikidiff2 1.9.0 nebo novější.
Příklady
curl
# Compare revision 847170467 to 851733941
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941"
Python
# Compare revision 847170467 to 851733941
import requests
url = 'https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941'
headers = {
'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
PHP
<?php
/*
Compare revision 847170467 to 851733941
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941";
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );
echo($output);
?>
JavaScript
/*
Compare revision 847170467 to 851733941
*/
async function doFetch() {
let url = "https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941";
let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
const rsp = await fetch(url, headers);
const data = await rsp.json();
return data;
}
async function fetchAsync()
{
try {
let result = await doFetch();
console.log(result);
} catch( err ) {
console.error( err.message );
}
}
fetchAsync();
Parametry
from
required | path |
Identifikátor revize, který se má použít jako základ pro srovnání |
to
required | path |
Identifikátor revize pro porovnání se základnou |
Odpovědi
200 | Úspěch: Byly nalezeny revize |
---|---|
400 | ID revizí jsou pro různé stránky nebo pro stránky, které nelze porovnávat |
400 | Neplatný typ obsahu |
403 | Revize není veřejně přístupná |
404 | Revize nenalezena |
500 | Rozšíření Wikidiff2 1.9.0 nebo novější není instalováno |
Schéma odezvy
from
required | object |
Informace o základní revizi použité při srovnání |
to
required | object |
Informace o porovnávané revizi se základní revizí |
from.id
|
Identifikátor revize |
from.slot_role
|
Oblast porovnávané stránky, obvykle main
|
from.sections
|
Pole objektů představujících nadpisy oddílů, včetně:
|
diff
required | array of objects |
Each object in the diff array represents a line in a visual, line-by-line comparison between the two revisions.
|
diff.type
required | integer |
The type of change represented by the diff object, either:
|
diff.lineNumber
optional | integer |
The line number of the change based on the to revision.
|
diff.text
required | string |
The text of the line, including content from both revisions. For a line containing text that differs between the two revisions, you can use highlightRanges to visually indicate added and removed text. For a line containing a new line, the API returns the text as "" (empty string).
|
diff.highlightRanges
optional | array of objects |
An array of objects that indicate where and in what style text should be highlighted to visually represent changes.
Each object includes:
|
diff.moveInfo
optional | object |
Visual indicators to use when a paragraph's location differs between the two revisions. moveInfo objects occur in pairs within the diff.
|
diff.offset
required | object |
The location of the line in bytes from the beginning of the page, including:
|