API:Query/nl: Difference between revisions
Created page with "==== Response ====" |
Created page with "==Mogelijke waarschuwingen==" |
||
| Line 474: | Line 474: | ||
Queries will often have more results available than are just shown in the original query. (Often this is because a [[API:Lists|List]] query's result [[API:Lists#Additional_notes|limit]] has been reached.) In these cases, queries can be continued. More detailed information on continuing queries can be at [[API:Continue]]. |
Queries will often have more results available than are just shown in the original query. (Often this is because a [[API:Lists|List]] query's result [[API:Lists#Additional_notes|limit]] has been reached.) In these cases, queries can be continued. More detailed information on continuing queries can be at [[API:Continue]]. |
||
<span id="Possible_warnings"></span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
==Mogelijke waarschuwingen== |
|||
== Possible warnings == |
|||
</div> |
|||
{| class="wikitable" |
{| class="wikitable" |
||
|+ |
|+ |
||
Revision as of 09:05, 22 July 2023
| Deze pagina maakt deel uit van de MediaWiki Action API documentatie. |
Met de module action=query kunt u informatie ophalen over een wiki en de gegevens die erin zijn opgeslagen, zoals de wikitekst van een bepaalde pagina, de links en categorieën van een reeks pagina's, of het token dat u nodig hebt om wiki-inhoud te wijzigen.
API documentatie
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.
Specific parameters: Other general parameters are available.
Examples:
|
Query modules
De querymodule heeft drie typen submodules (ook wel querymodules genoemd):
- Meta informatie over de wiki en de ingelogde gebruiker.
̈ Eigenschappen van pagina's, inclusief revisies en inhoud.
- Lijsten met pagina's die aan een bepaald criteria voldoen.
Voorbeelden
Voorbeeld 1: Pagina's specificeren
In tegenstelling tot meta- en lijstquerymodules werken alle eigenschapsquerymodules op een set pagina's die op een van de volgende manieren kunnen worden opgegeven:
- Op naam met behulp van de parameter
titles, bijvoorbeeldtitles=Foo|Bar|Main_Page. - Op pagina-ID met behulp van de parameter
pageids, bijvoorbeeldpageids=123|456|75915. - Door revisie-ID met behulp van de parameter
revids, bijvoorbeeldrevids=478198|54872|54894545. De meeste querymodules converteren revisie-id naar de bijbehorende pagina-id. Slechts prop=revisions gebruikt daadwerkelijk de revisie-ID. - Een generator gebruiken.
GET request
Response
{
"batchcomplete": true,
"query": {
"pages": [
{
"pageid": 1130,
"ns": 0,
"title": "Avicenna"
},
{
"pageid": 17412,
"ns": 0,
"title": "Klein bottle"
},
{
"pageid": 33642,
"ns": 0,
"title": "Warrant"
}
]
}
}
Voorbeeld 2: Titel normaliseren
Titel normalisatie converteert pagina-titels naar de canonieke vorm.
Dit betekent het eerste teken met een hoofdletter schrijven, onderstrepingstekens vervangen door spaties en namespace wijzigen in de gelokaliseerde vorm die voor die wiki is gedefinieerd.
GET request
Response
{
"batchcomplete": true,
"query": {
"normalized": [
{
"fromencoded": false,
"from": "Project:articleA",
"to": "Wikipedia:ArticleA"
},
{
"fromencoded": false,
"from": "article_B",
"to": "Article B"
}
],
"pages": [
{
"ns": 0,
"title": "Article B",
"missing": true
},
{
"ns": 4,
"title": "Wikipedia:ArticleA",
"missing": true
}
]
}
}
Voorbeeld 3: Ontbrekende en ongeldige titels
Voor titels die niet bestaan of ongeldig zijn, is een kenmerk van missing of invalid ingesteld in de response.
In output formats that support numeric array keys, missing and invalid titles will have negative page IDs.
In some cases, a title can be viewed by a user but cannot be accessed by the API, such as pages that mirror content from another wiki.
These titles will have a known attribute set in the response.
GET request
Response
{
"batchcomplete": true,
"query": {
"pages": [
{
"ns": 0,
"title": "Doesntexist",
"missing": true
},
{
"title": "Talk:",
"invalidreason": "The requested page title is empty or contains only the name of a namespace.",
"invalid": true
},
{
"pageid": 15580374,
"ns": 0,
"title": "Main Page"
}
]
}
}
Example 4: Continuing queries
When all the data is not returned in the response of a query, there will be a continue attribute to indicate that there is more data.
GET request
Response
{
"continue": {
"accontinue": "List_of_largest_companies_in_Sri_Lanka",
"continue": "-||"
},
"query": {
"allcategories": [
{
"category": "List of BioWare characters"
},
{
"category": "List of Harlequin Romance novels"
},
{
"category": "List of MPs elected in UK elections templates"
},
{
"category": "List of Metamorphoses characters"
},
{
"category": "List of Rockstar Games characters"
},
{
"category": "List of Star Trek awards and nominations"
},
{
"category": "List of Swedish films of the 2020s"
},
{
"category": "List of association football clubs in the Republic of Ireland templates"
},
{
"category": "List of awards and nominations received by Aleksej Pechkuroy"
},
{
"category": "List of cabinet templates"
}
]
}
}
To get further data, add its values to the original request:
GET request
Response
{
"batchcomplete": true,
"query": {
"allcategories": [
{
"category": "List of largest companies in Sri Lanka"
},
{
"category": "List of longest beaches of the world"
},
{
"category": "List of ministers by ministry of Bangladesh"
},
{
"category": "List of people from Palm Beach, Florida"
},
{
"category": "List of video game characters"
}
]
}
}
Example 5: Batchcomplete
The API returns a batchcomplete element to indicate that all data for the current batch of items has been returned.
MW 1.25+
In the response of the sample query below, batchcomplete has been included to indicate that all the data for each of the three images has been returned.
The next continuation will begin returning data for the next set of 3 images.
GET request
Response
{
"batchcomplete": true,
"continue": {
"aicontinue": "20020822143445|Do_You_Want_to_Know_a_Secret_(Beatles_song_-_sample).ogg",
"continue": "-||"
},
"query": {
"allimages": [
{
"name": "Simon_and_Garfunkel_-_Mrs_Robinson.ogg",
"timestamp": "2002-08-04T19:55:17Z",
"url": "https://upload.wikimedia.org/wikipedia/en/6/64/Simon_and_Garfunkel_-_Mrs_Robinson.ogg",
"descriptionurl": "https://en.wikipedia.org/wiki/File:Simon_and_Garfunkel_-_Mrs_Robinson.ogg",
"descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=67723",
"ns": 6,
"title": "File:Simon and Garfunkel - Mrs Robinson.ogg"
},
{
"name": "Simon_and_Garfunkel_-_Scarborough_Fair.ogg",
"timestamp": "2002-08-04T20:01:36Z",
"url": "https://upload.wikimedia.org/wikipedia/en/c/c1/Simon_and_Garfunkel_-_Scarborough_Fair.ogg",
"descriptionurl": "https://en.wikipedia.org/wiki/File:Simon_and_Garfunkel_-_Scarborough_Fair.ogg",
"descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=67779",
"ns": 6,
"title": "File:Simon and Garfunkel - Scarborough Fair.ogg"
},
{
"name": "Beatles_please_me.ogg",
"timestamp": "2002-08-22T14:34:00Z",
"url": "https://upload.wikimedia.org/wikipedia/en/e/ee/Beatles_please_me.ogg",
"descriptionurl": "https://en.wikipedia.org/wiki/File:Beatles_please_me.ogg",
"descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=74826",
"ns": 6,
"title": "File:Beatles please me.ogg"
}
]
}
}
Example 6: Generators
Use generators if you want to get data about a set of pages.
For example, to get data about pages in a certain category, instead of querying list=categorymembers and then querying again with pageids set to all the returned pages, combine the two API calls into one by using generator=categorymembers.
When using a list module as a generator, you don't need to specify the pages.
However, for a property module, you should specify the pages which the generator will work on.
For example, to load all pages that are linked to from the main page, use generator=links&titles=Main%20Page.
Parameters passed to a generator must be prefixed with a g. For instance, when using generator=backlinks, use gbllimit instead of bllimit.
The sample query below gets links and categories for the first three pages in the main namespace starting with "Ba".
GET request
Response
{
"continue": {
"plcontinue": "14977970|0|Kirkwall_Ba_game",
"continue": "||categories"
},
"query": {
"pages": [
{
"pageid": 98178,
"ns": 0,
"title": "Ba",
"links": [
{
"ns": 0,
"title": "BA"
},
{
"ns": 4,
"title": "Wikipedia:Mainspace"
},
{
"ns": 4,
"title": "Wikipedia:Naming conventions (capitalization)"
},
{
"ns": 4,
"title": "Wikipedia:Protection policy"
},
{
"ns": 4,
"title": "Wikipedia:Redirect"
},
{
"ns": 10,
"title": "Template:R from miscapitalisation"
},
{
"ns": 10,
"title": "Template:R from modification"
},
{
"ns": 10,
"title": "Template:R to disambiguation page"
},
{
"ns": 14,
"title": "Category:Redirects from ambiguous terms"
},
{
"ns": 14,
"title": "Category:Redirects from other capitalisations"
}
],
"categories": [
{
"ns": 14,
"title": "Category:Redirects from ambiguous terms"
},
{
"ns": 14,
"title": "Category:Redirects from other capitalisations"
},
{
"ns": 14,
"title": "Category:Unprintworthy redirects"
}
]
},
{
"pageid": 14977970,
"ns": 0,
"title": "Ba'"
},
{
"pageid": 33351890,
"ns": 0,
"title": "Ba'Al Shem Tov"
}
]
}
}
Continuing queries
Queries will often have more results available than are just shown in the original query. (Often this is because a List query's result limit has been reached.) In these cases, queries can be continued. More detailed information on continuing queries can be at API:Continue.
Mogelijke waarschuwingen
| Warning message | Cause |
|---|---|
| No support for special pages has been implemented. | Thrown if a title in the Special: or Media: namespace is given. The pages in these namespaces cannot be queried. |
| Bij gebruik van de parameter revids is het niet mogelijk doorverwijzingen te volgen. Eventuele doorverwijzingen waarnaar revids verwijst zijn niet gevolgd. | Thrown if the redirect parameter is used in a query that specifies pages using revids.
|
Parameter history
- v1.34: Introduced
exportschema - v1.24: Introduced
rawcontinue(note: raw continuation was the default behavior until v1.26) - v1.21: Introduced
continue
Additional notes
- Specifying titles through
titlesorpageidsis limited to 50 titles per query, or 500 for those with theapihighlimitsright. - Use multiple query modules together to get what you need in one request, e.g.
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.
Resolving redirects
Redirects can be resolved automatically, so that the target of a redirect is returned instead of the given title.
When present, they will always contain from and to attributes and may contain a tofragment attribute for those redirects that point to specific sections.
Both normalization and redirection may take place.
In the case of multiple redirects, all redirects will be resolved, and in case of a circular redirect, there might not be a page in the 'pages' section (see also below).
Redirect resolution cannot be used in combination with the revids= parameter or with a generator generating revids; doing that will produce a warning and will not resolve redirects for the specified revids.
The examples below show how the redirects parameter works.
| Resultaat |
|---|
{
"batchcomplete": true,
"query": {
"redirects": [
{
"from": "Main page",
"to": "Main Page"
}
],
"pages": [
{
"pageid": 15580374,
"ns": 0,
"title": "Main Page"
}
]
}
}
|
| Resultaat |
|---|
{
"batchcomplete": true,
"query": {
"pages": [
{
"pageid": 217225,
"ns": 0,
"title": "Main page"
}
]
}
}
|
| Resultaat |
|---|
{
"batchcomplete": true,
"query": {
"pages": [
{
"pageid": 217225,
"ns": 0,
"title": "Main page",
"contentmodel": "wikitext",
"pagelanguage": "en",
"pagelanguagehtmlcode": "en",
"pagelanguagedir": "ltr",
"touched": "2017-12-17T02:02:05Z",
"lastrevid": 777924062,
"length": 170,
"redirect": true
}
]
}
}
|
| Resultaat |
|---|
{
"batchcomplete": true,
"query": {
"redirects": [
{
"from": "Wikipedia:!--",
"to": "Wikipedia:Manual of Style",
"tofragment": "Invisible comments"
}
],
"pages": [
{
"pageid": 33697,
"ns": 4,
"title": "Wikipedia:Manual of Style"
}
]
}
}
|
| Resultaat |
|---|
{
"batchcomplete": true,
"query": {
"normalized": [
{
"fromencoded": false,
"from": "page1",
"to": "Page1"
}
],
"redirects": [
{
"from": "Page1",
"to": "Page2"
},
{
"from": "Page2",
"to": "Page3"
},
{
"from": "Page3",
"to": "Page1"
}
],
"pages": [
{
"ns": 0,
"title": "Page1",
"missing": true
}
]
}
}
|
See also
- API:Main page - The quick start guide.
- API:Raw query continue - Contains information on how to use the
rawcontinueparameter.
| Deze pagina of dit project wordt onderhouden door Core Platform Team.
Hulp krijgen:
|