API:Imageusage/zh

From mediawiki.org
This page is a translated version of the page API:Imageusage and the translation is 68% complete.
MediaWiki版本:
1.9

GET request查找使用给定图像标题的所有页面。

该模块可用作生成器

在MW 1.9和1.10中,模块名称为imagelinks。

API帮助文档


list=imageusage (iu)

(main | query | imageusage)
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

Find all pages that use the given image title.

Specific parameters:
Other general parameters are available.
iutitle

Title to search. Cannot be used together with iupageid.

iupageid

Page ID to search. Cannot be used together with iutitle.

Type: integer
iucontinue

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

iunamespace

The namespace to enumerate.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 486, 487, 710, 711, 828, 829, 1198, 1199, 2600, 5500, 5501
To specify all values, use *.
iudir

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
iufilterredir

How to filter for redirects. If set to nonredirects when iuredirect is enabled, this is only applied to the second level.

One of the following values: all, nonredirects, redirects
Default: all
iulimit

How many total pages to return. If iuredirect is enabled, the limit applies to each level separately (which means up to 2 * iulimit results may be returned).

Type: integer or max
The value must be between 1 and 500.
Default: 10
iuredirect

If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved.

Type: boolean (details)

示例

GET请求

获取使用给定图像标题的前三页。


回应

{
  "batchcomplete": "",
  "continue": {
    "continue": "-||",
    "iucontinue": "4|33464895"
  },
  "query": {
    "imageusage": [
      {
        "ns": 0,
        "pageid": 14072,
        "title": "History of Wikipedia"
      },
      {
        "ns": 4,
        "pageid": 16842768,
        "title": "Wikipedia:Wikipedia logos"
      },
      {
        "ns": 2,
        "pageid": 30536602,
        "title": "User:J Komara"
      }
    ]
  }
}

示例代码

Python

#!/usr/bin/python3

"""
    python/get_imageusage.py

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "imageusage",
    "iutitle": "File:Wiki_logo_Nupedia.jpg",
    "iulimit": "3"
}

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

PAGES = DATA["query"]["imageusage"]

for p in PAGES:
    print(p["title"])

PHP

<?php
/*
    get_imageusage.php

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "imageusage",
    "iutitle" => "File:Wiki_logo_Nupedia.jpg",
    "iulimit" => "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"]["imageusage"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript

/*
    get_imageusage.js

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "imageusage",
    iutitle: "File:Wiki_logo_Nupedia.jpg",
    iulimit: "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 pages = response.query.imageusage;
        for (var p in pages) {
            console.log(pages[p].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_imageusage.js

	MediaWiki API Demos
	Demo of `Imageusage` module: List the first 3 pages that use a given image title

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'imageusage',
		iutitle: 'File:Wiki_logo_Nupedia.jpg',
		iulimit: '3'
	},
	api = new mw.Api();

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

可能的错误

代码 信息
iubadcontinue 无效继续参数。您应该传递由之前查询返回的原始值。

參閱