API:REST API/Referenzen

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

Die REST-API lässt dich durch das Absenden von HTTP-Abfragen an einzigartige URLs mit MediaWiki interagieren. Du kannst die API nutzen, um Apps und Skripte zu erstellen, die Wiki-Seiten und Versionsgeschichten durchsuchen.

Dokumentation

Suche

MediaWiki Version:
1.35

Suchergebnisobjekt

Das Suchergebnisobjekt repräsentiert eine Wiki-Seite, die mit der angefragten Suche übereinstimmt.

Beispiel

$ curl "https://en.wikipedia.org/w/rest.php/v1/search/page?q=earth&limit=1";

{
  "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"
  }
}


Schema

id

required | integer

Seitenkennung
key

required | string

Seitentitel in URL-freundlichem Format
title

required | string

Seitentitel in lesefreundlichem Format
excerpt

required | string

Für Seitenendpunkt suchen:

Ein paar Zeilen mit einem Beispiel für den Seiteninhalt mit Suchbegriffen, die mit <span class=\"searchmatch\">-Tags hervorgehoben sind

Für den Endpunkt der automatischen Vervollständigung des Seitentitels:

Seitentitel in lesefreundlichem Format

matched_title

optional | string

Der Titel der Seite, von der aus weitergeleitet wird, wenn der Suchbegriff ursprünglich mit einer Weiterleitungsseite übereinstimmt oder null, wenn der Suchbegriff nicht mit einer Weiterleitungsseite übereinstimmt.
description

required | string

Kurze Zusammenfassung des Seitenthemas basierend auf dem zugehörigen Eintrag in Wikidata oder null, wenn kein Eintrag existiert
thumbnail

required | object

Information über das Vorschaubild der Seite oder null, wenn kein Vorschaubild existiert.
  • mimetype (string): Medientyp des Vorschaubilds
  • size (integer): Dateigröße in Bytes oder null, wenn nicht verfügbar
  • width (integer): Maximale empfohlene Breite des Bildes in Pixeln oder null, wenn nicht verfügbar
  • height (integer): Maximale empfohlene Höhe des Bildes in Pixeln oder null, wenn nicht verfügbar
  • duration (integer): Länge des Videos, Audios oder der Multimedia-Datei oder null für andere Medientypen
  • url (string): URL zum Herunterladen der Datei

Seiten suchen

Pfad /search/page?q=search terms Inhaltsmodell application/json
Methode GET Ausgabe pages-Objekt, das das Array der Suchergebnisse enthält

Sucht nach Titeln von Wiki-Seiten und Inhalten für die angegebenen Suchbegriffe und gibt passende Seiten aus.

Bei der Nutzung dieses Endpunktes in deinem Wiki
Dieser Endpunkt nutzt die Suchmaschine, die in den Konfigurationseinstellungen von $wgSearchType konfiguriert ist und gibt die Ergebnisse in den von $wgNamespacesToBeSearchedDefault konfigurierten Namensräumen aus.

Beispiele

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

search_query = 'jupiter'
number_of_results = 20
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)'}

response = requests.get(url, headers=headers, params={'q': search_query, 'limit': number_of_results})
data = response.json()

print(data)

PHP

<?php
/*
Search English Wikipedia for up to 20 pages containing information about Jupiter
*/

$params = array("q" => "jupiter", "limit" => "20");

$endpoint = "https://en.wikipedia.org/w/rest.php/v1/search/page";
$url = $endpoint . "?" . 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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/search/page?q=jupiter&limit=20",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

q

required | query

Suchbegriffe
limit

optional | query

Maximale Anzahl auszugebender Ergebnisse, zwischen 1 und 100. Standard: 50.

Antworten

200 Erfolg: Ergebnisse gefunden. Gibt ein pages-Objekt aus, das ein Array der Suchergebnisse enthält.
200 Erfolg: Keine Ergebnisse gefunden. Gibt ein pages-Objekt aus, das ein leeres Array enthält.
400 Abfrage-Parameter nicht gesetzt. Setze den Parameter q.
400 Ungültiges Limit abgefragt. Setze den Parameter limit auf einen Wert zwischen 1 und 100.
500 Suchfehler

Automatische Vervollständigung des Seitentitels

Pfad /search/title?q=search terms Inhaltsmodell application/json
Methode GET Ausgabe pages-Objekt, das das Array der Suchergebnisse enthält

Sucht Titel von Wiki-Seiten und gibt Treffer zwischen dem Beginn eines Titels und den angegebenen Suchbegriffen aus. Du kannst diesen Endpunkt für eine Typeahead-Suche nutzen, die automatisch relevante Seiten anhand ihres Titels vorschlägt.

Bei der Nutzung dieses Endpunktes in deinem Wiki
Dieser Endpunkt nutzt die Suchmaschine, die in den Konfigurationseinstellungen von $wgSearchType konfiguriert ist und gibt die Ergebnisse in den von $wgNamespacesToBeSearchedDefault konfigurierten Namensräumen aus. Die Ergebnisse können sich abhängig vom konfigurierten Such-Backend unterscheiden. Während das Standard-Backend nur grundlegendes Case-Folding und Präfix-Treffer anwendet, können fortgeschrittene Backends komplexere Variationen anwenden. Im Fall von CirrusSearch basieren Treffer beispielsweise auf dem Elastic-Search-Vervollständigungsvorschlag.

Beispiele

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

search_query = 'solar'
number_of_results = 5
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)'}

response = requests.get(url, headers=headers, params={'q': search_query, 'limit': number_of_results})
data = response.json()

print(data)

PHP

<?php
/*
Search English Wikipedia for up to 5 pages with titles that start with "solar"
*/

$params = array("q" => "solar", "limit" => "5");

$endpoint = "https://en.wikipedia.org/w/rest.php/v1/search/title";
$url = $endpoint . "?" . 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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/search/title?q=solar&limit=5",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

q

required | query

Suchbegriffe
limit

optional | query

Maximale Anzahl auszugebender Ergebnisse, zwischen 1 und 100. Standard: 50.

Antworten

200 Erfolg: Ergebnisse gefunden. Gibt ein pages-Objekt aus, das ein Array der Suchergebnisse enthält.
200 Erfolg: Keine Ergebnisse gefunden. Gibt ein pages-Objekt aus, das ein leeres Array enthält.
400 Abfrage-Parameter nicht gesetzt. Setze den Parameter q.
400 Ungültiges Limit abgefragt. Setze den Parameter limit auf einen Wert zwischen 1 und 100.
500 Suchfehler

Seiten

MediaWiki Version:
1.35

Seiten-Objekt

Das Seiten-Objekt repräsentiert die letzte Version einer Wiki-Seite.

Beispiel

{
  "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"
}

Schema

id

required | integer

Seitenkennung
key

required | string

Seitentitel in URL-freundlichem Format
title

required | string

Seitentitel in lesefreundlichem Format
latest

required | object

Information über die letzte Version, darunter:
  • id (integer): Versionskennung für die letzte Version
  • timestamp (string): Zeitstempel der letzten Version im Format ISO 8601
content_model

required | string

Typ des Inhalts der Seite. Siehe die Referenzseite zu Content Handlers für Inhaltsmodelle, die von MediaWiki und Erweiterungen unterstützt werden.
license

required | map of strings

Information über die Lizenz des Wikis, darunter:
  • url (string): URL der anwendbaren Lizenz, basierend auf der Einstellung $wgRightsUrl
  • title (string): Name der anwendbaren Lizenz, basierend auf der Einstellung $wgRightsText
Get page only

html_url

required | string

API-Pfad zum Erhalt des Inhalts der Seite in HTML
Nur beim Erhalten einer Seite

html

required | string

Letzter Seiteninhalt in HTML, befolgt die HTML-2.1.0-Spezifikation
Nur beim Erhalt einer Quellseite, Erstellung einer Seite und Aktualisierung einer Seite

source

required | string

Letzter Seiteninhalt im Format, das von der Eigenschaft content_model angegeben wird

Seitensprachen-Objekt

Das Seitensprachen-Objekt repräsentiert eine Wiki-Seite und ihre Sprache.

Beispiel

{
  "code": "pl",
  "name": "polski",
  "key": "Ziemia",
  "title": "Ziemia"
}

Schema

code

required | string

Sprachcode. Siehe die Seiten-Matrix im Meta-Wiki für Wikimedia-Projekte.
name

required | string

Übersetzter Sprachenname
key

required | string

Übersetzter Seitentitel in URL-freundlichem Format
title

required | string

Übersetzter Seitentitel in lesefreundlichem Format

Seite erstellen

Pfad /page Inhaltsmodell application/json
Methode POST Ausgabe Seiten-Objekt mit Eigenschaft source

Erstellt eine Wiki-Seite. Die Antwort umfasst einen location-Header, der den API-Endpunkt enthält, um die neue Seite zu erhalten.

Dieser Endpunkt wurde entworfen, um zusammen mit dem Autorisierungsprozess der OAuth-Erweiterung genutzt zu werden. Anrufer, die die Cookie-basierte Authentifizierung nutzen, müssen stattdessen ein CSRF-token zum Abfragekörper hinzufügen. Um ein CSRF-Token zu erhalten, siehe die Action API.

Beispiele

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

Abfrage-Schema

source

required | string

Seiteninhalt im Format, das von der Eigenschaft content_model angegeben wird
title

required | string

Seitentitel. Siehe das Handbuch für Informationen über Seitentitel in MediaWiki.
comment

required | string

Grund für die Erstellung der Seite. Um zu erlauben, dass der Kommentar vom Server eingefügt wird, nutze "comment": null..
content_model

optional | string

Typ des Inhalts der Seite. Standardmäßig wikitext. Siehe die Referenzseite zu Content Handlers für Inhaltsmodelle, die von MediaWiki und Erweiterungen unterstützt werden.
token

optional | string

Zur Nutzung der Cookie-basierten Authentifizierung ist ein CSRF-Token erforderlich. Lasse diese Eigenschaft weg, wenn du OAuth nutzt.

Antworten

201 Erfolg: Seite erstellt. Gibt das Seiten-Objekt mit der Eigenschaft source aus.
400 token fehlt bei der Nutzung der Cookie-basierten Authentifizierung. Füge ein CSRF-Token zum Abfragekörper hinzu oder nutze den Prozess der OAuth-Autorisierung.
400 Ungültiges Inhaltsmodell. Schließe ein gültiges content_model basierend auf verfügbaren Content-Handlers ein.
409 Seite existiert bereits
415 Nicht unterstütztes Inhaltsmodell. Füge den Abfrage-Header Content-Type: application/json hinzu.

Eine Seite aktualisieren

Pfad /page/{title} Inhaltsmodell application/json
Methode PUT Ausgabe Seiten-Objekt mit Eigenschaft source

Aktualisiert oder erstellt eine Wiki-Seite. Dieser Endpunkt wurde entworfen, um zusammen mit dem Autorisierungsprozess der OAuth-Erweiterung genutzt zu werden. Anrufer, die die Cookie-basierte Authentifizierung nutzen, müssen stattdessen ein CSRF-token zum Abfragekörper hinzufügen. Um ein CSRF-Token zu erhalten, siehe die Action API.

Du benötigst die Kennung der letzten Version der Seite und die Quellseite. Rufe zunächst den Endpunkt an, um die Quellseite zu erhalten und nutze dann source und latest.id, um die Seite zu aktualisieren. Wenn latest.id nicht mit der letzten Version einer Seite übereinstimmt, löst die API Konflikte automatisch, sofern dies möglich ist. Im Fall eines Bearbeitungskonfliktes, gibt die API einen 409-Fehler aus.

Lasse latest.id bei der Abfrage weg, um eine Seite zu erstellen.

Beispiele

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

Parameter

title

required | path

Titel der Wiki-Seite

Abfrage-Schema

source

required | string

Seiteninhalt im Format, das von der Eigenschaft content_model angegeben wird
comment

required | string

Zusammenfassung der Bearbeitung. Um zu erlauben, dass der Kommentar vom Server eingefügt wird, nutze "comment": null.
latest

optional | object

Objekt, das die Basis-Version der Bearbeitung identifiziert. Du kannst diese Information aus dem Endpunkt zum Erhalt der Quellseite erhalten.
latest.id

optional | integer

Identifikator für die Version, die als Basis für die neue source genutzt wird, erfordert die Aktualisierung einer existierenden Seite. Lasse diese Eigenschaft weg, um eine neue Seite zu erstellen.
content_model

optional | string

Typ des Inhalts der Seite. Standardmäßig wikitext für neue Seiten oder das Inhaltsmodell der existierenden Seite. Siehe die Referenzseite zu Content Handlers für Inhaltsmodelle, die von MediaWiki und Erweiterungen unterstützt werden.
token

optional | string

Zur Nutzung der Cookie-basierten Authentifizierung ist ein CSRF-Token erforderlich. Lasse diese Eigenschaft weg, wenn du OAuth nutzt.

Antworten

200 Erfolg: Seite aktualisiert. Gibt das Seiten-Objekt mit der Eigenschaft source aus.
201 Erfolg: Seite aktualisiert. Gibt das Seiten-Objekt mit der Eigenschaft source aus.
400 token fehlt bei der Nutzung der Cookie-basierten Authentifizierung. Füge ein CSRF-Token zum Abfragekörper hinzu oder nutze den Prozess der OAuth-Autorisierung.
400 Ungültiges Inhaltsmodell. Stelle sicher, dass die Eigenschaft content_model im Abfragekörper mit dem content_model der Zielseite übereinstimmt.
409 Seite existiert bereits. Gib die Kennung der grundlegenden Version in latest.id im Abfragekörper an, um die existierende Seite zu aktualisieren.
409 Bearbeitungskonflikt. Der Fehler enthält die Unterschiede zwischen der in der Abfrage angegebenen grundlegenden Version und der letzten veröffentlichten Version. Siehe die Wikidiff2-Dokumentation für Informationen über das Format des Versionsunterschieds. Erfordert die Wikidiff2-Erweiterung 1.10+.
415 Nicht unterstütztes Inhaltsmodell. Füge den Abfrage-Header Content-Type: application/json hinzu.

Seite erhalten

Pfad /page/{title}/bare Inhaltsmodell application/json
Methode GET Ausgabe Seiten-Objekt mit Eigenschaft html_url

Gibt das Standard-Seiten-Objekt für eine Wiki-Seite mit dem API-Pfad zum Erhalt des letzten Inhalts in HTML, der Lizenz und Informationen über die letzte Version aus.

Um diesen Endpunkt in deinem Wiki zu nutzen
Installiere RESTBase und konfiguriere VirtualRESTService.

Beispiele

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

page = 'Jupiter'
url = 'https://en.wikipedia.org/w/rest.php/v1/page/' + page + '/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
*/

$page = "Jupiter";
$url = "https://en.wikipedia.org/w/rest.php/v1/page/" . $page . "/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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

title

required | path

Titel der Wiki-Seite

Antworten

200 Erfolg: Seite gefunden. Gibt die Seite mit der Eigenschaft html_url aus.
404 Titel oder Version nicht gefunden
500 RESTBase ist nicht installiert oder nicht mit VirtualRESTService konfiguriert

Seite offline erhalten

Pfad /page/{title}/with_html Inhaltsmodell application/json
Methode GET Ausgabe Seiten-Objekt mit Eigenschaft html

Gibt Informationen über eine Wiki-Seite aus, darunter die Lizenz, die letzte Version und der letzte Inhalt in HTML.

Um diesen Endpunkt in deinem Wiki zu nutzen
Installiere RESTBase und konfiguriere VirtualRESTService.

Beispiele

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

page = 'Jupiter'
url = 'https://en.wikipedia.org/w/rest.php/v1/page/' + page + '/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
*/

$page = "Jupiter";
$url = "https://en.wikipedia.org/w/rest.php/v1/page/" . $page . "/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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

title

required | path

Titel der Wiki-Seite

Antworten

200 Erfolg: Seite gefunden. Gibt die Seite mit der Eigenschaft html aus.
404 Titel oder Version nicht gefunden
500 RESTBase ist nicht installiert oder nicht mit VirtualRESTService konfiguriert

Quellseite erhalten

Pfad /page/{title} Inhaltsmodell application/json
Methode GET Ausgabe Seiten-Objekt mit Eigenschaft source

Gibt den Inhalt einer Wiki-Seite im durch die Eigenschaft content_model angegebenen Format, die Lizenz und Informationen über die letzte Version aus.

Beispiele

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

page = 'Jupiter'
url = 'https://en.wikipedia.org/w/rest.php/v1/page/' + page
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
*/

$page = "Jupiter";
$url = "https://en.wikipedia.org/w/rest.php/v1/page/" . $page;

$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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

title

required | path

Titel der Wiki-Seite

Antworten

200 Erfolg: Seite gefunden. Gibt die Seite mit der Eigenschaft source aus.
400 Die abgefragte Seite wird von diesem Endpunkt nicht unterstützt
404 Inhalt existiert nicht oder kann nicht geladen werden

HTML erhalten

Pfad /page/{title}/html Inhaltsmodell text/html
Methode GET Ausgabe Seiten-HTML im HTML-2.1.0-Format

Gibt den letzten Inhalt einer Wiki-Seite in HTML aus.

Um diesen Endpunkt in deinem Wiki zu nutzen
Installiere RESTBase und konfiguriere VirtualRESTService.

Beispiele

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

page = 'Jupiter'
url = 'https://en.wikipedia.org/w/rest.php/v1/page/' + page + '/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)
print(response.text)

PHP

<?php
/*
Get the content of the Jupiter article on English Wikipedia in HTML
*/

$page = "Jupiter";
$url = "https://en.wikipedia.org/w/rest.php/v1/page/" . $page . "/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() {
  const response = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html",
    {'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();

Versuche es

Parameter

title

required | path

Titel der Wiki-Seite

Antworten

200 Erfolg. Gibt die Seiten-HTML im HTML-2.1.0-Format aus.
404 Titel oder Version nicht gefunden
500 RESTBase ist nicht installiert oder nicht mit VirtualRESTService konfiguriert

Sprachen erhalten

Pfad /page/{title}/links/language Inhaltsmodell application/json
Methode GET Ausgabe Array von Seitensprachen

Durchsucht verbundene Wikis nach Seiten mit dem gleichen Thema in einer anderen Sprache. Gibt ein Array der Seitensprachen-Objekte aus, das den Namen der Sprache, den Sprachcode und den übersetzten Seitentitel enthält.

Beispiele

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

page = 'Jupiter'
url = 'https://en.wikipedia.org/w/rest.php/v1/page/' + page + '/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
*/

$page = "Jupiter";
$url = "https://en.wikipedia.org/w/rest.php/v1/page/" . $page . "/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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

title

required | path

Titel der Wiki-Seite

Antworten

200 Erfolg: Sprachen gefunden. Gibt ein Array der Seitensprachen aus.
404 Titel nicht gefunden

Dateien von einer Seite erhalten

Pfad /page/{title}/links/media Inhaltsmodell application/json
Methode GET Ausgabe files-Objekt, das das Array der Dateien enthält

Gibt Informationen über Mediendateien aus, die auf einer Wiki-Seite genutzt werden.

Beispiele

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

page = 'Jupiter'
url = 'https://en.wikipedia.org/w/rest.php/v1/page/' + page + '/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
*/

$page = "Jupiter";
$url = "https://en.wikipedia.org/w/rest.php/v1/page/" . $page . "/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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

title

required | path

Titel der Wiki-Seite

Antworten

200 Erfolg: Mediendateien gefunden. Gibt ein files-Objekt aus, das ein Array der Dateien enthält.
200 Erfolg: Keine Mediendateien gefunden. Gibt ein files-Objekt aus, das ein leeres Array enthält.
404 Titel nicht gefunden
500 Seite enthält mehr als 100 Mediendateien

Mediendateien

MediaWiki Version:
1.35

Datei-Objekt

Das Datei-Objekt repräsentiert eine Datei, die in einem Wiki hochgeladen wurde.

Beispiel

{
  "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"
  }
}

Schema

title

required | string

Dateititel
file_description_url

required | string

URL für die Seite, die die Datei beschreibt, inklusive Lizenzinformationen und anderen Metadaten
latest

required | object

Objekt, das Informationen über die letzte Version der Datei enthält, darunter:
  • timestamp (string): Zeitstempel der letzten Änderung im Format ISO 8601
  • user (object): Objekt, das Informationen über den Benutzer enthält, der die Datei hochgeladen hat
    • id (integer): Benutzerkennung
    • name (string): Benutzername
preferred

required | object

Informationen über das bevorzugte Vorschauformat der Datei, das originale Format und das Miniaturformat, darunter:
  • mediatype (string): Der Dateityp, einer von: BITMAP, DRAWING, AUDIO, VIDEO, MULTIMEDIA, UNKNOWN, OFFICE, TEXT, EXECUTABLE, ARCHIVE oder 3D
  • size (integer): Dateigröße in Bytes oder null, wenn nicht verfügbar
  • width (integer): Maximale empfohlene Breite des Bildes in Pixeln oder null, wenn nicht verfügbar
  • height (integer): Maximale empfohlene Höhe des Bildes in Pixeln oder null, wenn nicht verfügbar
  • duration (integer): Länge des Videos, Audios oder der Multimedia-Datei oder null für andere Medientypen
  • url (string): URL zum Herunterladen der Datei
original

required | object

Nur beim Erhalten einer Datei

thumbnail

required | object

Datei erhalten

Pfad /file/{title} Inhaltsmodell application/json
Methode GET Ausgabe Datei

Gibt Informationen über eine Datei aus, darunter Links zum Herunterladen der Datei im Miniaturformat, Vorschauformat und originalen Format.

Beispiele

curl

# Get File:The_Blue_Marble.jpg on Wikimedia Commons
$ curl https://commons.wikimedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg

Python

# Get File:The_Blue_Marble.jpg on Wikimedia Commons

import requests

file = 'File:The_Blue_Marble.jpg'
url = 'https://commons.wikimedia.org/w/rest.php/v1/file/' + file
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
*/

$file = "File:The_Blue_Marble.jpg";
$url = "https://commons.wikimedia.org/w/rest.php/v1/file/" . $file;

$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() {
  const rsp = await fetch(
    "https://commons.wikimedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

Parameter Beschreibung
title

required | path

Dateititel

Antworten

200 Erfolg: Datei gefunden. Gibt die Datei aus.
404 Titel nicht gefunden

Versionsgeschichte

MediaWiki Version:
1.35

Versionsobjekt

Das Versionsobjekt repräsentiert eine Änderung auf einer Wiki-Seite.

Beispiel

{
  "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
}

Schema

id

required | integer

Versionsidentifikator
Nur beim Erhalten einer Version

page

required | object

Objekt, das Informationen über die Seite enthält, darunter:
  • page_id (integer): Seitenkennung
  • title (string): Seitentitel in lesefreundlichem Format
user

required | object

Objekt, das Informationen über den Benutzer enthält, der die Bearbeitung vorgenommen hat, darunter:
  • name (string): Benutzername
  • id (integer): Benutzerkennung

Für unangemeldete Benutzer enthält name die originale IP-Adresse und id ist null.

timestamp

required | string

Zeitstempel der Bearbeitung im Format ISO 8601
comment

required | string

Kommentar oder Bearbeitungszusammenfassung des Autors. Für Versionen ohne einen Kommentar gibt die API null oder "" aus.
size

required | integer

Größe der Version in Bytes
delta

required | integer

Anzahl der geänderten Bytes, positiv oder negativ, zwischen einer Version und der älteren Version (Beispiel: -20). Wenn die ältere Version nicht verfügbar ist, gibt die API null aus.
minor

required | boolean

true für Bearbeitungen, die als klein markiert wurden

Versionsgeschichte erhalten

Pfad /page/{title}/history Inhaltsmodell application/json
Methode GET Ausgabe Bereich der Versionsgeschichte

Gibt Informationen über die letzten Versionen einer Wiki-Seite in Bereichen von 20 Versionen, beginnend mit der letzten Version, aus. Die Antwort enthält API-Pfade für die nächstälteren, nächstneueren und die neuesten Versionsbereiche und ermöglicht es dir so, durch die Versionsgeschichte zu scrollen.

Beispiele

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

page = 'Jupiter'
filter = 'bot'
older_than = 939967546

url = 'https://en.wikipedia.org/w/rest.php/v1/page/' + page + '/history'
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, params={'filter': filter, 'older_than': older_than})
data = response.json()

print(data)

PHP

<?php
/*
Get revisions made to the Jupiter article on English Wikipedia by bots prior to revision 939967546
*/

$page = "Jupiter";
$params = array("filter" => "bot", "older_than" => "939967546");

$endpoint = "https://en.wikipedia.org/w/rest.php/v1/page/" . $page . "/history";
$url = $endpoint . "?" . 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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history?filter=bot&older_than=939967546",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

title

required | path

Titel der Wiki-Seite
older_than

optional | query

Akzeptiert eine Versionskennung. Gibt die 20 nächstälteren Versionen der angegebenen Versionskennung aus.
newer_than

optional | query

Akzeptiert eine Versionskennung. Gibt die 20 nächstneueren Versionen der angegebenen Versionskennung aus.
filter

optional | query

Filter, der nur Versionen mit bestimmten Markierungen ausgibt. Eine von:
  • reverted: Gibt nur Versionen aus, die eine frühere Bearbeitung rückgängig machen
  • anonymous: Gibt nur Versionen von unangemeldeten Benutzern aus
  • bot: Gibt nur Versionen von Bots aus
  • minor: Gibt nur Versionen aus, die als kleine Bearbeitungen markiert sind

Die API unterstützt einen Filter je Abfrage.

Antworten

200 Erfolg: Versionen gefunden. Gibt einen Bereich der Versionsgeschichte aus.
200 Erfolg: Keine Versionen gefunden. Gibt einen Bereich der Versionsgeschichte mit einem leeren Array revisions aus.
400 Versionskennung muss größer als 0 sein
400 Die Parameter older_than und newer_than können nicht beide zusammen angegeben werden
400 Ungültiger Parameter
404 Titel oder Version nicht gefunden

Antwort-Schema

latest

required | string

API-Pfad, um die letzten Versionen zu erhalten
older

optional | string

API-Pfad zum Erhalt der älteren Versionen, sofern verfügbar
newer

optional | string

API-Pfad zum Erhalt der neueren Versionen, sofern verfügbar
revisions

required | array

Array von 0-20 Versionsobjekten

Versionszähler erhalten

Pfad /page/{title}/history/counts/{type} Inhaltsmodell application/json
Methode GET Ausgabe Versionszähler-Objekt

Gibt Daten über die Versionsgeschichte einer Seite aus.

Beispiele

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

page = 'Jupiter'
from_revision = 384955912
to_revision = 406217369

url = 'https://en.wikipedia.org/w/rest.php/v1/page/' + page + '/history/counts/edits'
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, params={'from': from_revision, 'to': to_revision})
data = response.json()

print(data)

PHP

<?php
/*
Get the number of edits to a page between revisions 384955912 and 406217369
*/

$page = "Jupiter";
$count_type = "edits";
$params = array("from" => 384955912, "to" => 406217369);

$endpoint = "https://en.wikipedia.org/w/rest.php/v1/page/" . $page . "/history/counts/" . $count_type;
$url = $endpoint . "?" . 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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits?from=384955912&to=406217369",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

title

required | path

Titel der Wiki-Seite
type

required | path

Typ des Zählers. Einer von:
  • anonymous: Bearbeitungen von unangemeldeten Benutzern. Limit: 10.000
  • bot: Bearbeitungen von Bots. Limit: 10.000
  • editors: Benutzer oder Bots, die eine Seite bearbeitet haben. Limit: 25.000
  • edits: Jede Änderung am Seiteninhalt. Limit: 30.000
  • minor: Als klein markierte Bearbeitungen. Wenn der Zähler für kleine Bearbeitungen 2.000 übersteigt, gibt die API einen Fehler 500 aus. Limit: 1.000
  • reverted: Bearbeitungen, die eine frühere Bearbeitung rückgängig machen. Limit: 30.000
from

optional | query

Nur für die Typen edits und editors

Begrenzt den Zähler zwischen zwei Versionen, angegeben durch Versionskennungen. Die Abfrageparameter from und to müssen als Paar genutzt werden. Das Ergebnis die Bearbeitungen oder Autoren aus, die durch die Versionen from und to repräsentiert werden.

to

optional | query

Antworten

200 Erfolg
400 Ungültiger Parameter oder Kombination von Parametern
404 Titel oder Version nicht gefunden
500 Zähler kleiner Bearbeitungen übersteigt 2.000

Antwort-Schema

count

required | integer

Der Wert des Datenpunktes bis zum Limit des Typs. Wenn der Wert das Limit übersteigt, gibt die API das Limit als Wert von count aus und setzt die Eigenschaft limit auf true.
limit

required | boolean

Gibt true aus, wenn der Datenpunkt das Limit des Typs übersteigt.

Version erhalten

Pfad revision/{id}/bare Inhaltsmodell application/json
Methode GET Ausgabe Version

Gibt Details für eine einzelne Version aus.

Beispiele

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

revision_id = '764138197'

url = 'https://en.wikipedia.org/w/rest.php/v1/revision/' + revision_id + '/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
*/

$revision  = "764138197";

$url = "https://en.wikipedia.org/w/rest.php/v1/revision/" . $revision . "/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() {
  const rsp = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare",
    {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  );
  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();

Versuche es

Parameter

id

required | path

Versionskennung

Antworten

200 Erfolg: Version gefunden. Gibt eine Version aus.
404 Version nicht gefunden

Versionen vergleichen

Pfad revision/{from}/compare/{to} Inhaltsmodell application/json
Methoden GET Ausgabe Wikidiff2-JSON-Versionsunterschiedsformat

Gibt Daten aus, die dich Zeile für Zeile zwei Versionen vergleichen lassen. (Siehe ein Beispiel.) Nur textbasierte Wiki-Seiten können verglichen werden.

Um diesen Endpunkt in deinem Wiki zu nutzen
Installiere Wikidiff2 1.9.0 oder neuer.

Beispiele

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

from_revision = '847170467'
to_revision = '851733941'

url = 'https://en.wikipedia.org/w/rest.php/v1/revision/' + from_revision + '/compare/' + to_revision
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
*/

$from = "847170467";
$to = "851733941";

$url = "https://en.wikipedia.org/w/rest.php/v1/revision/" . $from . "/compare/" . $to;

$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() {
  const response = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941",
    {'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();

Versuche es

Parameter

from

required | path

Versionskennung, die als Basis für den Vergleich dient
to

required | path

Versionskennung, mit der die Basis verglichen werden soll

Antworten

200 Erfolg: Versionen gefunden
400 Versionskennungen beziehen sich auf unterschiedliche Seiten oder auf Seiten, die nicht verglichen werden können
400 Ungültiges Inhaltsmodell
403 Version nicht öffentlich zugänglich
404 Version nicht gefunden
500 Wikidiff2-Erweiterung 1.9.0 oder neuer nicht installiert

Antwort-Schema

from

required | object

Information über die Basis-Version, die im Vergleich genutzt wird
to

required | object

Information über die Version, die mit der Basis-Version verglichen wird
from.id

to.id
required | integer

Versionsidentifikator
from.slot_role

to.slot_role
required | string

Bereich der Seite, der verglichen wird, normalerweise main
from.sections

to.sections
required | array

Array von Objekten, die Abschnittsüberschriften repräsentieren, darunter:
  • level (integer): Überschriftslevel, 1 bis 4
  • heading (string): Text der Überschriftszeile, in Wikitext
  • offset (integer): Ort der Überschrift, in Bytes vom Anfang der Seite


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.