API:Abfrage

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Query and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎polski • ‎português • ‎русский • ‎українська • ‎עברית • ‎中文 • ‎日本語 • ‎한국어

Mit dem action=query können Sie Informationen über ein Wiki und die darin gespeicherten Daten abrufen, z. B. den Wikitext einer bestimmten Seite, die Links und Kategorien einer Seitengruppe oder den Token, den Sie zum Ändern des Wiki-Inhalts benötigen.

API-Dokumentation


action=query

(main | query)

Fetch data from and about MediaWiki.

All data modifications will first have to use query to acquire a token to prevent abuse from malicious sites.

Parameters:
prop

Which properties to get for the queried pages.

categories
List all categories the pages belong to.
categoryinfo
Returns information about the given categories.
cirrusbuilddoc
Dump of a CirrusSearch article document from the database servers
cirruscompsuggestbuilddoc
Dump of the document used by the completion suggester
cirrusdoc
Dump of a CirrusSearch article document from the search servers
contributors
Get the list of logged-in contributors and the count of anonymous contributors to a page.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
extlinks
Returns all external URLs (not interwikis) from the given pages.
extracts
Returns plain-text or limited HTML extracts of the given pages.
fileusage
Find all pages that use the given files.
globalusage
Returns global image usage for a certain image.
imageinfo
Returns file information and upload history.
images
Returns all files contained on the given pages.
info
Get basic page information.
iwlinks
Returns all interwiki links from the given pages.
langlinks
Returns all interlanguage links from the given pages.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
pageimages
Returns information about images on the page, such as thumbnail and presence of photos.
pageprops
Get various page properties defined in the page content.
pageterms
Get the Wikidata terms (typically labels, descriptions and aliases) associated with a page via a sitelink.
pageviews
Shows per-page pageview data (the number of daily pageviews for each of the last pvipdays days).
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
stashimageinfo
Returns file information for stashed files.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
transcodestatus
Get transcode status for a given file page.
videoinfo
Extends imageinfo to include video source (derivatives) information
wbentityusage
Returns all entity IDs used in the given pages.
flowinfo
Deprecated. Get basic Structured Discussions information about a page.
description
Internal. Get a short description a.k.a. subtitle explaining what the target page is about.
mapdata
Internal. Request all Kartographer map data for the given pages
Values (separate with | or alternative): categories, categoryinfo, cirrusbuilddoc, cirruscompsuggestbuilddoc, cirrusdoc, contributors, deletedrevisions, duplicatefiles, extlinks, extracts, fileusage, globalusage, imageinfo, images, info, iwlinks, langlinks, links, linkshere, pageimages, pageprops, pageterms, pageviews, redirects, revisions, stashimageinfo, templates, transcludedin, transcodestatus, videoinfo, wbentityusage, flowinfo, description, mapdata
list

Which lists to get.

abusefilters
Show details of the abuse filters.
abuselog
Show events that were caught by one of the abuse filters.
allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
allusers
Enumerate all registered users.
backlinks
Find all pages that link to the given page.
betafeatures
List all BetaFeatures
blocks
List all blocked users and IP addresses.
categorymembers
List all pages in a given category.
centralnoticeactivecampaigns
Get a list of currently active campaigns with start and end dates and associated banners.
centralnoticelogs
Get a log of campaign configuration changes.
checkuser
Check which IP addresses are used by a given username or which usernames are used by a given IP address.
checkuserlog
Get entries from the CheckUser log.
codecomments
List comments on revisions in CodeReview.
codepaths
Get a list of 10 paths in a given repository, based on the input path prefix.
coderevisions
List revisions in CodeReview.
codetags
Get a list of tags applied to revisions in a given repository.
embeddedin
Find all pages that embed (transclude) the given title.
extdistrepos
Returns the list of repositories supported by ExtensionDistributor
exturlusage
Enumerate pages that contain a given URL.
filearchive
Enumerate all deleted files sequentially.
gadgetcategories
Returns a list of gadget categories.
gadgets
Returns a list of gadgets used on this wiki.
globalallusers
Enumerate all global users.
globalblocks
List all globally blocked IP addresses.
globalgroups
Enumerate all global groups.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
linterrors
Get a list of lint errors
logevents
Get events from logs.
messagecollection
Query MessageCollection about translations.
mostviewed
Lists the most viewed pages (based on last day's pageview count).
mystashedfiles
Get a list of files in the current user's upload stash.
pagepropnames
List all page property names in use on the wiki.
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
search
Perform a full text search.
tags
List change tags.
threads
Show details of LiquidThreads threads.
usercontribs
Get all edits by a user.
users
Get information about a list of users.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
wblistentityusage
Returns all pages that use the given entity IDs.
wikisets
Enumerate all wiki sets.
deletedrevs
Deprecated. List deleted revisions.
extdistbranches
Internal. Returns the list of branches for a repository supported by ExtensionDistributor
mmsites
Internal. Serve autocomplete requests for the site field in MassMessage.
readinglistentries
Internal. List the pages of a certain list.
Values (separate with | or alternative): abusefilters, abuselog, allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, allusers, backlinks, betafeatures, blocks, categorymembers, centralnoticeactivecampaigns, centralnoticelogs, checkuser, checkuserlog, codecomments, codepaths, coderevisions, codetags, embeddedin, extdistrepos, exturlusage, filearchive, gadgetcategories, gadgets, globalallusers, globalblocks, globalgroups, imageusage, iwbacklinks, langbacklinks, linterrors, logevents, messagecollection, mostviewed, mystashedfiles, pagepropnames, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, search, tags, threads, usercontribs, users, watchlist, watchlistraw, wblistentityusage, wikisets, deletedrevs, extdistbranches, mmsites, readinglistentries
Maximum number of values is 50 (500 for clients allowed higher limits).
meta

Which metadata to get.

allmessages
Return messages from this site.
authmanagerinfo
Retrieve information about the current authentication status.
babel
Get information about what languages the user knows
featureusage
Get a summary of logged API feature usages for a user agent.
filerepoinfo
Return meta information about image repositories configured on the wiki.
globalpreferences
Retrieve global preferences for the current user.
globalrenamestatus
Show information about global renames that are in progress.
globaluserinfo
Show information about a global user.
languageinfo
Return information about available languages.
languagestats
Query language stats.
linterstats
Get number of lint errors in each category
managemessagegroups
Fetch possible renames for a message in a group during imports
messagegroups
Return information about message groups.
messagegroupstats
Query message group stats.
messagetranslations
Query all translations for a single message.
notifications
Get notifications waiting for the current user.
siteinfo
Return general information about the site.
siteviews
Shows sitewide pageview data (daily pageview totals for each of the last pvisdays days).
tokens
Gets tokens for data-modifying actions.
unreadnotificationpages
Get pages for which there are unread notifications for the current user.
userinfo
Get information about the current user.
wikibase
Get information about the Wikibase client and the associated Wikibase repository.
oath
Internal. Check to see if two-factor authentication (OATH) is enabled for a user.
readinglists
Internal. List or filter the user's reading lists and show metadata about them.
Values (separate with | or alternative): allmessages, authmanagerinfo, babel, featureusage, filerepoinfo, globalpreferences, globalrenamestatus, globaluserinfo, languageinfo, languagestats, linterstats, managemessagegroups, messagegroups, messagegroupstats, messagetranslations, notifications, siteinfo, siteviews, tokens, unreadnotificationpages, userinfo, wikibase, oath, readinglists
indexpageids

Include an additional pageids section listing all returned page IDs.

Type: boolean (details)
export

Export the current revisions of all given or generated pages.

Type: boolean (details)
exportnowrap

Return the export XML without wrapping it in an XML result (same format as Special:Export). Can only be used with query+export.

Type: boolean (details)
exportschema

Target the given version of the XML dump format when exporting. Can only be used with query+export.

One of the following values: 0.10, 0.11
Default: 0.10
iwurl

Whether to get the full URL if the title is an interwiki link.

Type: boolean (details)
continue

When more results are available, use this to continue.

rawcontinue

Return raw query-continue data for continuation.

Type: boolean (details)
titles

A list of titles to work on.

Separate values with | or alternative.
Maximum number of values is 50 (500 for clients allowed higher limits).
pageids

A list of page IDs to work on.

Type: list of integers
Separate values with | or alternative.
Maximum number of values is 50 (500 for clients allowed higher limits).
revids

A list of revision IDs to work on.

Type: list of integers
Separate values with | or alternative.
Maximum number of values is 50 (500 for clients allowed higher limits).
generator

Get the list of pages to work on by executing the specified query module.

Note: Generator parameter names must be prefixed with a "g", see examples.

allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
backlinks
Find all pages that link to the given page.
categories
List all categories the pages belong to.
categorymembers
List all pages in a given category.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
embeddedin
Find all pages that embed (transclude) the given title.
exturlusage
Enumerate pages that contain a given URL.
fileusage
Find all pages that use the given files.
images
Returns all files contained on the given pages.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
messagecollection
Query MessageCollection about translations.
mostviewed
Lists the most viewed pages (based on last day's pageview count).
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
search
Perform a full text search.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
wblistentityusage
Returns all pages that use the given entity IDs.
readinglistentries
Internal. List the pages of a certain list.
One of the following values: allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, backlinks, categories, categorymembers, deletedrevisions, duplicatefiles, embeddedin, exturlusage, fileusage, images, imageusage, iwbacklinks, langbacklinks, links, linkshere, messagecollection, mostviewed, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, revisions, search, templates, transcludedin, watchlist, watchlistraw, wblistentityusage, readinglistentries
redirects

Automatically resolve redirects in query+titles, query+pageids, and query+revids, and in pages returned by query+generator.

Type: boolean (details)
converttitles

Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include ban, en, crh, gan, iu, kk, ku, shi, sr, tg, uz and zh.

Type: boolean (details)

Abfragemodule

Das Abfragemodul hat drei Typen von Submodulen (auch Abfragemodule genannt):

Beispiele

Beispiel 1: Seiten angeben

Im Gegensatz zu Meta- und Abfrage-Modulen funktionieren alle Eigenschaften-Abfragemodule auf einem Satz von Seiten, der auf eine der folgenden Wege festgelegt werden kann:

  • Nach Name mit dem titles-Parameter, z.B. titles=Foo|Bar|Main_Page.
  • Nach Seiten-ID mit dem pageids-Parameter, z.B. pageids=123|456|75915.
  • Nach Versions-ID mit dem revids-Parameter, z.B. revids=478198|54872|54894545. Die meisten Abfragemodule werden die Versions-ID in die entsprechende Seiten-ID umwandeln. Nur prop=revisions nutzt derzeit die Versions-ID selbst.
  • Mit einem Generator.

GET-Anfrage


Antwort

{
    "batchcomplete": true,
    "query": {
        "pages": [
            {
                "pageid": 1130,
                "ns": 0,
                "title": "Avicenna"
            },
            {
                "pageid": 17412,
                "ns": 0,
                "title": "Klein bottle"
            },
            {
                "pageid": 33642,
                "ns": 0,
                "title": "Warrant"
            }
        ]
    }
}

Beispiel 2: Titelnormalisierung

Titelnormalisierung wandelt Seitentitel in ihr kanonisches Format um.

Dies bedeutet, dass das erste Zeichen großgeschrieben wird, Unterstriche durch Leerzeichen ersetzt werden und Namensräume in die lokalisierte Form umgewandelt werden, die für das Wiki genutzt wird.

Alle Zeilenumbrüche in Seitentiteln (\n) werden seltsames Verhalten auslösen und sollten daher vorher entfernt werden.

GET-Anfrage


Antwort

Beispiel 3: Fehlende und ungültige Titel

Titel, die nicht existieren oder ungültig sind, werden in der Antwort eines der Attribute missing oder invalid erhalten.

In Ausgabeformaten, die numerische Array-Schlüssel unterstützen, haben fehlende und ungültige Titel negative Seiten-IDs.

GET-Anfrage


Antwort

Beispiel 4: Fortsetzen von Abfragen

Wenn in der Antwort der Abfrage nicht alle Daten ausgegeben werden, gibt es ein continue-Attribut, das angibt, dass es noch weitere Daten gibt.

Setze ihre Werte in die ursprüngliche Abfrage ein, um weitere Daten zu erhalten.

GET-Anfrage


Antwort

Beispiel 5: Batchcomplete

Die API gibt ein batchcomplete-Element aus, um anzuzeigen, dass alle Daten für den aktuellen Stapel von Objekten ausgegeben wurden. MW 1.25+

In die Antwort der Beispiel-Abfrage unten wurde batchcomplete eingebunden, um anzuzeigen, dass alle Daten für jedes der drei Bilder ausgegeben wurden.

Die nächste Fortsetzung wird mit der Ausgabe der Daten für den nächsten Satz von drei Bildern beginnen.

GET-Anfrage


Antwort

Beispiel 6: Generatoren

Nutze Generatoren, wenn du Daten über einen Satz von Seiten erhalten möchtest.

Um beispielsweise Daten über Seiten in einer bestimmten Kategorie zu erhalten, frage nicht zuerst list=categorymembers ab und dann nochmal mit pageids bei allen ausgegebenen Seiten, sondern kombiniere die beiden API-Abfragen mithilfe von generator=categorymembers.

Wenn du ein Listenmodul als Generator nutzt, musst du die Seiten nicht angeben.

Für ein Eigenschaftsmodul solltest du hingegen die Seiten angeben, die der Generator bearbeiten soll.

Nutze zum Beispiel generator=links&titles=Main%20Page, um alle Seiten zu laden, die von der Hauptseite verlinkt sind.

Parameter, die an einen Generator übergeben werden, müssen mit einem Präfix g versehen werden. Nutze bei generator=backlinks beispielsweise gbllimit statt bllimit.

Die einfache Abfrage unten fragt Links und Kategorien für die ersten drei Seiten im Hauptnamensraum, die mit "Ba" beginnen ab.

GET-Anfrage


Antwort

Mögliche Warnungen

Warnmeldung Ursache
Es wurde keine Unterstützung für Spezialseiten implementiert. Wird ausgegeben, wenn ein Titel im Spezial- oder Media-Namensraum gegeben ist. Die Seiten in diesen Namensräumen können nicht abgefragt werden.
Redirect resolution cannot be used together with the revids parameter. Any redirects the revids point to have not been resolved. Wird ausgegeben, wenn der redirect-Parameter in einer Abfrage genutzt wird, die Seiten mit revids angibt.

Parametergeschichte

  • v1.21: Eingeführt continue
  • v1.24: Eingeführt rawcontinue (beachte, dass Raw Continuation bis v1.26 das Standardverhalten war)

Zusätzliche Anmerkungen

  • Die Angabe der Titel über titles oder pageids ist auf 50 Titel je Abfrage oder 500 für Benutzer mit dem Recht apihighlimits begrenzt.
  • Nutze mehrere Abfragemodule zusammen, um in einer Abfrage zu erhalten, was du benötigst, z.B. prop=info|revisions&list=backlinks|embeddedin|allimages&meta=userinfo.
  • Generators always pass page titles to the query module. Unlike lists (which may include additional data by default), generators should not output any information themselves, unless when explicitly requested via the generator module's query parameters.

Weiterleitungen auflösen

Weiterleitungen können automatisch aufgelöst werden, sodass das Ziel einer Weiterleitung statt des gegebenen Titels ausgegeben wird. Wenn vorhanden, werden sie immer die Attribute from und to enthalten und können für Weiterleitungen, die auf bestimmte Abschnitte verweisen, das Attribut tofragment enthalten.

Sowohl Normalisierung als auch Weiterleitung können stattfinden. Im Fall mehrfacher Weiterleitungen werden alle Weiterleitungen aufgelöst und im Falle einer Weiterleitung im Kreis gibt es möglicherweise keine Seite im Abschnitt 'pages' (siehe auch unten). Die Auflösung von Weiterleitungen kann nicht zusammen mit dem Parameter revids= oder einem Generator, der Versions-IDs generiert, genutzt werden; dies zu tun wird eine Warnung auslösen und Weiterleitungen für die angegebenen Versions-IDs werden nicht aufgelöst.

Die Beispiele unten zeigen, wie der Parameter redirects funktioniert.

Nutzung des Parameters "redirects". "Main page" ist eine Weiterleitung auf "Main Page"

Die gleiche Abfrage ohne den Parameter "redirects".

Ohne "redirects" möchtest du vielleicht prop=info nutzen, um den Weiterleitungs-Status zu erhalten.

Abfrage mit einem Abschnittslink. "Wikipedia:!--" ist eine Weiterleitung auf "Wikipedia:Manual of Style#Invisible comments"

Hier ist ein Fall einer Weiterleitung im Kreis: Page1 → Page2 → Page3 → Page1. Außerdem wird in diesem Beispiel ein nicht normalisierter Name 'page1' genutzt.

Siehe auch