MediaWiki version:
1.9

GET request to fetch a list of all logged events as shown in Special:Log.

API documentation


Special:ApiHelp/query+logevents

Example

GET request

Get the three most recent logevents.

Response

{
  "batchcomplete": "",
  "continue": {
    "continue": "-||",
    "lecontinue": "20190606150600|99729503"
  },
  "query": {
    "logevents": [
      {
        "action": "create",
        "comment": "added to WikiProject (via [[WP:JWB]])",
        "logid": 99729506,
        "logpage": 60974819,
        "ns": 15,
        "pageid": 60974819,
        "params": {},
        "timestamp": "2019-06-06T15:06:07Z",
        "title": "Category talk:Electronic albums by Senegalese artists",
        "type": "create",
        "user": "Jevansen"
      }
      ...
    ]
  }
}

Sample code

Python

#!/usr/bin/python3

"""
    get_logevents.py

    MediaWiki API Demos
    Demo of `Logevents` module: Get the three most recent logevents.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "logevents",
    "lelimit": "3"
}

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

LOGS = DATA["query"]["logevents"]

for l in LOGS:
    print("There is " + l["type"] + " log for page " + l["title"])

PHP

<?php
/*
    get_logevents.php

    MediaWiki API Demos
    Demo of `Logevents` module: Get the three most recent logevents.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "logevents",
    "lelimit" => "3"
];

$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"]["logevents"] as $k => $v ) {
    echo( "There is " . $v["type"] . " log for page " . $v["title"] . "\n" );
}

JavaScript

/*
    get_logevents.js

    MediaWiki API Demos
    Demo of `Logevents` module: Get the three most recent logevents.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "logevents",
    lelimit: "3"
};

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 logs = response.query.logevents;
        for (var l in logs) {
            console.log("There is " + logs[l].type + " log for page " + logs[l].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_logevents.js

	MediaWiki API Demos
	Demo of `Logevents` module: Get the three most recent logevents.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'logevents',
		lelimit: '3'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var logs = data.query.logevents,
		l;
	for ( l in logs ) {
		console.log( 'There is ' + logs[ l ].type + ' log for page ' + logs[ l ].title );
	}
} );

Possible errors

Code Info
leparam_user User name username not found.
leparam_title Bad title "title".
This happens when you set letitle to an invalid title.
apierror-unrecognizedvalue Unrecognized value for parameter leaction: value.
apierror-prefixsearchdisabled Prefix search is disabled in Miser Mode.

Parameter history

  • v1.17: Introduced leaction

Additional notes

  • This module cannot be used as a {{ll|API:generator|generator}}.
  • For autoblock unblock entries, the title returned is shown as "User:$blockid". This is not a userpage, but just the way it is stored. See task T19781.
  • When userid is specified for account creation events, the userid of the creating user is returned. When absent, the userid returned is that of the created account. See task T73020.
  • See Manual:Log actions for {{db table|logging|log_type|log types}} and {{db table|logging|log_action|log actions}}, and their {{db table|logging|log_params|log parameters}} and {{ll|Manual:log_search table|log_search}} entries and descriptions.
  • Every log action is logged in the Manual:Logging table. Users can see those edits on Special:Log, except for a few restricted logs like Special:Log/suppress.

See also

  • API:Recentchanges - Gets a list of all recent changes.
  • API:Database field and API property associations.
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.