[go: up one dir, main page]

Jump to content

API:Info

From mediawiki.org
MediaWiki version:
1.8

GET request to display basic information about the given page(s).

API documentation

[edit]

prop=info (in)

(main | query | info)

Get basic page information.

Specific parameters:
Other general parameters are available.
inprop

Which additional properties to get:

protection
List the protection level of each page.
talkid
The page ID of the talk page for each non-talk page.
watched
List the watched status of each page.
watchers
The number of watchers, if allowed.
visitingwatchers
The number of watchers of each page who have visited recent edits to that page, if allowed.
notificationtimestamp
The watchlist notification timestamp of each page.
subjectid
The page ID of the parent page for each talk page.
associatedpage
The prefixed title of the associated subject or talk page.
url
Gives a full URL, an edit URL, and the canonical URL for each page.
readable
Deprecated. Whether the user can read this page. Use intestactions=read instead.
preload
Deprecated. Gives the text returned by EditFormPreloadText. Use preloadcontent instead, which supports other kinds of preloaded text too.
preloadcontent
Gives the content to be shown in the editor when the page does not exist or while adding a new section.
editintro
Gives the intro messages that should be shown to the user while editing this page or revision, as HTML.
displaytitle
Gives the manner in which the page title is actually displayed.
varianttitles
Gives the display title in all variants of the site content language.
linkclasses
Gives the additional CSS classes (e.g. link colors) used for links to this page if they were to appear on the page named by inlinkcontext.
Values (separate with | or alternative): associatedpage, displaytitle, editintro, linkclasses, notificationtimestamp, preloadcontent, protection, subjectid, talkid, url, varianttitles, visitingwatchers, watched, watchers, preload, readable
inlinkcontext

The context title to use when determining extra CSS classes (e.g. link colors) when inprop contains linkclasses.

Type: page title
Accepts non-existent pages.
Default: MediaWiki
intestactions

Test whether the current user can perform certain actions on the page.

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

Detail level for intestactions. Use the main module's errorformat and errorlang parameters to control the format of the messages returned.

boolean
Return a boolean value for each action.
full
Return messages describing why the action is disallowed, or an empty array if it is allowed.
quick
Like full but skipping expensive checks.
One of the following values: boolean, full, quick
Default: boolean
intestactionsautocreate

Test whether performing intestactions would automatically create a temporary account.

Type: boolean (details)
inpreloadcustom

Title of a custom page to use as preloaded content.

Only used when inprop contains preloadcontent.
inpreloadparams

Parameters for the custom page being used as preloaded content.

Only used when inprop contains preloadcontent.
Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
inpreloadnewsection

Return preloaded content for a new section on the page, rather than a new page.

Only used when inprop contains preloadcontent.
Type: boolean (details)
ineditintrostyle

Some intro messages come with optional wrapper frames. Use moreframes to include them or lessframes to omit them.

Only used when inprop contains editintro.
One of the following values: lessframes, moreframes
Default: moreframes
ineditintroskip

List of intro messages to remove from the response. Use this if a specific message is not relevant to your tool, or if the information is conveyed in a different way.

Only used when inprop contains editintro.
Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
ineditintrocustom

Title of a custom page to use as an additional intro message.

Only used when inprop contains editintro.
incontinue

When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.


Example

[edit]

GET request

[edit]
Get info about the w:Albert Einstein page, including the talk page's id, and URLs associated with the page

Response

[edit]
{
    "batchcomplete": "",
    "query": {
        "pages": {
            "736": {
                "pageid": 736,
                "ns": 0,
                "title": "Albert Einstein",
                "contentmodel": "wikitext",
                "pagelanguage": "en",
                "pagelanguagehtmlcode": "en",
                "pagelanguagedir": "ltr",
                "touched": "2018-12-13T11:58:27Z",
                "lastrevid": 873382746,
                "length": 154728,
                "talkid": 21091085,
                "fullurl": "https://en.wikipedia.org/wiki/Albert_Einstein",
                "editurl": "https://en.wikipedia.org/w/index.php?title=Albert_Einstein&action=edit",
                "canonicalurl": "https://en.wikipedia.org/wiki/Albert_Einstein"
            }
        }
    }
}

Sample code

[edit]

Python

[edit]
#!/usr/bin/python3

"""
    get_info.py

    MediaWiki API Demos
    Demo of `Info` module: Send a GET request to display information about a page.

    MIT License
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "query",
    "format": "json",
    "titles": "Albert Einstein",
    "prop": "info",
    "inprop": "url|talkid"
}

R = S.get(url=URL, params=PARAMS)
DATA = R.json()

PAGES = DATA["query"]["pages"]

for k, v in PAGES.items():
    print(v["title"] + " has " + str(v["length"]) + " bytes.")

PHP

[edit]
<?php
/*
    get_info.php

    MediaWiki API Demos
    Demo of `Info` module: Send a GET request to display information about a page.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "titles" => "Albert Einstein",
    "prop" => "info",
    "inprop" => "url|talkid"
];

$url = $endPoint . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );

$result = json_decode( $output, true );

foreach( $result["query"]["pages"] as $k => $v ) {
    echo( $v["title"] . " has " . $v["length"] . " bytes." . "\n" );
}

JavaScript

[edit]
/*
    get_info.js

    MediaWiki API Demos
    Demo of `Info` module: Send a GET request to display information about a page.

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    action: "query",
    format: "json",
    titles: "Albert Einstein",
    prop: "info",
    inprop: "url|talkid"
};

url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});

fetch(url)
    .then(function(response){return response.json();})
    .then(function(response) {
        var pages = response.query.pages;
        for (var p in pages) {
            console.log(pages[p].title + " has " + pages[p].length + " bytes.");
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

[edit]
/*
	get_info.js

	MediaWiki API Demos
	Demo of `Info` module: Send a GET request to display information about a page.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		titles: 'Albert Einstein',
		prop: 'info',
		inprop: 'url|talkid'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var pages = data.query.pages,
		p;
	for ( p in pages ) {
		console.log( pages[ p ].title + ' has ' + pages[ p ].length + ' bytes.' );
	}
} );

Parameter history

[edit]
  • v1.41: Deprecated preload
  • v1.32: Deprecated readable
  • v1.27: Introduced visitingwatchers
  • v1.25: Introduced intestactions
  • v1.24: Deprecated intoken
  • v1.21: Introduced watchers
  • v1.20: Introduced notificationtimestamp
  • v1.17: Introduced displaytitle
  • v1.16: Introduced watched, preload
  • v1.14: Introduced url, readable
  • v1.13: Introduced talkid, subjectid
  • v1.11: Introduced inprop, protection, intoken


Additional notes

[edit]

See also

[edit]