Jump to content

API:REST API/Reference

From mediawiki.org
This page is a translated version of the page API:REST API/Reference and the translation is 100% complete.

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.

Dokumentace

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.
  • mimetype (string): Miniatura typ média
  • size (integer): Velikost souboru v bajtech nebo null, pokud není k dispozici
  • width (integer): Maximální doporučená šířka obrázku v pixelech nebo null, pokud není k dispozici
  • height (integer): Maximální doporučená výška obrázku v pixelech nebo null, pokud není k dispozici
  • duration (integer): Délka videa, audia nebo multimediálního souboru nebo null pro jiné typy médií
  • url (string): URL pro stažení souboru



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.

Při použití tohoto koncového bodu na vaší wiki
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();

Vyzkoušej to

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.

Při použití tohoto koncového bodu na vaší wiki
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();

Vyzkoušej to

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ě:
  • id (integer): Identifikátor revize pro nejnovější revizi
  • timestamp (string): Časové razítko nejnovější revize ve formátu ISO 8601


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ě:
  • url (string): Adresa URL příslušné licence na základě nastavení $wgRightsUrl
  • title (string): Název příslušné licence na základě nastavení $wgRightsText


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();

Vyzkoušej to

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();

Vyzkoušej to

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();

Vyzkoušej to

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();

Vyzkoušej to

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();

Vyzkoušej to

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();

Vyzkoušej to

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.

Tato dokumentace ještě nepokrývá všechny dostupné funkce koncového bodu transformace. Další informace naleznete v dokumentaci ke staršímu koncovému bodu RESTBase: https://en.wikipedia.org/api/rest_v1/#/Transforms

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ě:
  • timestamp (string): Naposledy upravené časové razítko ve formátu ISO 8601
  • user (object): Objekt obsahující informace o uživateli, který soubor nahrál
    • id (integer): Identifikátor uživatele
    • name (string): Uživatelské jméno
preferred

required | object

Informace o preferovaném formátu náhledu souboru, původním formátu a formátu miniatur, včetně:
  • mediatype (string): Typ souboru, jeden z: BITMAP, DRAWING, AUDIO, VIDEO, MULTIMEDIA, UNKNOWN, OFFICE, TEXT, EXECUTABLE, ARCHIVE nebo 3D
  • size (integer): Velikost souboru v bajtech nebo null, pokud není k dispozici
  • width (integer): Maximální doporučená šířka obrázku v pixelech nebo null, pokud není k dispozici
  • height (integer): Maximální doporučená výška obrázku v pixelech nebo null, pokud není k dispozici
  • duration (integer): Délka video, zvukového nebo multimediálního souboru nebo null u jiných typů médií
  • url (string): URL pro stažení souboru
original

required | object

Pouze Získat soubor

thumbnail

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();

Vyzkoušej to

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

page

required | object

Objekt obsahující informace o stránce, včetně:
  • page_id (integer): Identifikátor stránky
  • title (string): Název stránky ve formátu vhodném pro čtení
user

required | object

Objekt obsahující informace o uživateli, který provedl úpravu, včetně:
  • name (string): Uživatelské jméno
  • id (integer): Identifikátor uživatele

U anonymních uživatelů obsahuje name původní IP adresu a id je null.

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();

Vyzkoušej to

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:
  • reverted: Vrátí pouze revize, které vrátí dřívější úpravy
  • anonymous: Vrátí pouze revize provedené anonymními uživateli
  • bot: Vrátí pouze revize provedené roboty
  • minor: Vrátí pouze revize označené jako úpravy minor

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();

Vyzkoušej to

Parametry

title

required | path

Název wiki stránky
type

required | path

Typ počítání, jeden z:
  • anonymous: Úpravy provedené anonymními uživateli. Limit: 10 000
  • bot: Úpravy provedené roboty. Limit: 10 000
  • editors: Uživatelé nebo roboti, kteří upravili stránku. Limit: 25 000
  • edits: Jakákoli změna obsahu stránky. Limit: 30 000
  • minor: Úpravy označené jako minor. Pokud počet drobných úprav překročí 2 000, rozhraní API vrátí chybu 500. Limit: 1 000
  • reverted: Úpravy, které vrátí dřívější úpravy. Limit: 30 000
from

optional | query

Pouze pro typy edits a editors

Omezuje počet mezi dvěma revizemi určenými pomocí ID revize. Parametry dotazu from a to je nutné použít jako pár. Výsledek nezahrnuje úpravy nebo editory reprezentované revizemi from a to.

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();

Vyzkoušej to

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();

Vyzkoušej to

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();

Vyzkoušej to

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();

Vyzkoušej to

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.

Chcete-li použít tento koncový bod na vaší wiki
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();

Vyzkoušej to

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

to.id
required | integer

Identifikátor revize
from.slot_role

to.slot_role
required | string

Oblast porovnávané stránky, obvykle main
from.sections

to.sections
required | array

Pole objektů představujících nadpisy oddílů, včetně:
  • level (integer): Úroveň nadpisu, 1 až 4
  • heading (string): Text řádku nadpisu ve wikitextu
  • offset (integer): Umístění nadpisu v bajtech od začátku stránky
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:
  • 0: A line with the same content in both revisions, included to provide context when viewing the diff. The API returns up to two context lines around each change.
  • 1: A line included in the to revision but not in the from revision.
  • 2: A line included in the from revision but not in the to revision.
  • 3: A line containing text that differs between the two revisions. (For changes to paragraph location as well as content, see type 5.)
  • 4: When a paragraph's location differs between the two revisions, a type 4 object represents the location in the from revision.
  • 5: When a paragraph's location differs between the two revisions, a type 5 object represents the location in the to revision. This type can also include word-level differences between the two revisions.
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:

  • start (integer): Where the highlighted text should start, in the number of bytes from the beginning of the line.
  • length (integer): The length of the highlighted section, in bytes.
  • type (integer): The type of highlight:
    • 0 indicates an addition.
    • 1 indicates a deletion.
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.
  • id (string): The ID of the paragraph described by the diff object.
  • linkId (string): The ID of the corresponding paragraph.
    • For type 4 diff objects, linkId represents the location in the to revision.
    • For type 5 diff objects, linkId represents the location in the from revision.
  • linkDirection (integer): A visual indicator of the relationship between the two locations. You can use this property to display an arrow icon within the diff.
    • 0 indicates that the linkId paragraph is lower on the page than the id paragraph.
    • 1 indicates that the linkId paragraph is higher on the page than the id paragraph.
diff.offset

required | object

The location of the line in bytes from the beginning of the page, including:
  • from (integer): The first byte of the line in the from revision. A null value indicates that the line doesn't exist in the from revision.
  • to (integer): The first byte of the line in the to revision. A null value indicates that the line doesn't exist in the to revision.