API:重複ファイル

From mediawiki.org
This page is a translated version of the page API:Duplicatefiles and the translation is 53% complete.

GET request to get a list of duplicates of the given file.

MediaWiki バージョン:
1.14

APIの説明文書


prop=duplicatefiles (df)

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

List all files that are duplicates of the given files based on hash values.

Specific parameters:
Other general parameters are available.
dflimit

How many duplicate files to return.

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

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

dfdir

The direction in which to list.

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

Look only for files in the local repository.

Type: boolean (details)

GET リクエスト

List duplicates of two images.


レスポンス

{
    "batchcomplete": "",
    "query": {
        "normalized": [
            {
                "from": "Image:1995.jpg",
                "to": "File:1995.jpg"
            },
            {
                "from": "Image:Welcome.gif",
                "to": "File:Welcome.gif"
            }
        ]
        ...
            }
        }
    }
}

サンプル コード

Python

#!/usr/bin/python3

"""
    duplicate_files.py

    MediaWiki API Demos
    Demo of `Duplicatefiles` module: List duplicates of the given files.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "titles": "Image:1995.jpg|Image:Welcome.gif",
    "prop": "duplicatefiles",
    "format": "json"
}

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

print(DATA)

PHP

<?php

/*
    duplicate_files.php

    MediaWiki API Demos
    Demo of `Duplicatefiles` module: List duplicates of the given files.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "titles" => "Image:1995.jpg|Image:Welcome.gif",
    "prop" => "duplicatefiles",
    "format" => "json"
];

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

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

echo( $output );

JavaScript

/*
    duplicate_files.js

    MediaWiki API Demos
    Demo of `Duplicatefiles` module: List duplicates of the given files.

    MIT License
*/

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

var params = {
    action: "query",
    titles: "Image:1995.jpg|Image:Welcome.gif",
    prop: "duplicatefiles",
    format: "json"
};
request.get({ url: url, qs: params }, function(error, res, body) {
    if (error) {
        return;
    }
    console.log(body);
});

MediaWiki JS

/*
    duplicate_files.js

    MediaWiki API Demos
    Demo of `Duplicatefiles` module: List duplicates of the given files.

    MIT License
*/

var params = {
    action: "query",
    titles: "Image:1995.jpg|Image:Welcome.gif",
    prop: "duplicatefiles",
    format: "json"
},
api = new mw.Api();

api.get( params ).done( function ( data ) {
console.log( data );
} );

パラメーターの履歴

  • v1.20: dfdir, dflocalonly を導入しました

関連項目