Mediawiki JSON响应:检索每个类别成员的缩略图

时间:2016-12-07 07:45:47

标签: android json mediawiki wikipedia

我正在使用Mediawiki创建一个项目,并在一个类别中添加了150个成员。我需要使用每个类别成员的缩略图检索JSON,以便在我的应用程序中使用它。

但遗憾的是,我无法检索该类别中所有类别成员的缩略图。只有48个成员在该类别中显示缩略图的URL,即使这些图像在网站中正确添加为48个成员添加。

我在做什么错误,在我的JSON回复中出现了这个错误。

查询示例:

http://example.org/api.php?gcmlimit=max&action=query&gcmtitle=Category%3AName&pilimit=max&prop=pageimages&pithumbsize=100&generator=categorymembers&format=json&continue=

上面的URL只是一个示例,用于显示我用于检索json文件响应的查询。

先谢谢

1 个答案:

答案 0 :(得分:0)

这个解决方案对我有用,我成功了。

您可以使用pageImages查询

增加JSON中的缩略图网址检索限制

您必须转到已安装此扩展程序的扩展程序。

在里面会有一个名为APIQueryPageImages.php的php文件在include文件夹中。 在php文件夹里面有一个函数" getAllowedParams()"将其中定义的值更改为必要值,如下所示:

 public function getAllowedParams() {
                return array(
                        'prop' => array(
                                ApiBase::PARAM_TYPE => array( 'thumbnail', 'name', 'original' ),
                                ApiBase::PARAM_ISMULTI => true,
                                ApiBase::PARAM_DFLT => 'thumbnail|name',
                        ),
                        'thumbsize' => array(
                                ApiBase::PARAM_TYPE => 'integer',
                                APiBase::PARAM_DFLT => 50,
                        ),
                        'limit' => array(
                                ApiBase::PARAM_DFLT => 1,
                                ApiBase::PARAM_TYPE => 'limit',
                                ApiBase::PARAM_MIN => 1,
                                ApiBase::PARAM_MAX => 500, //Here you can change the limit of value for user which was by default "50"
                                ApiBase::PARAM_MAX2 => 600,  ////Here you change the limit of value for bots which was by default "100"
                        ),
                        'continue' => array(
                                ApiBase::PARAM_TYPE => 'integer',
                                /** @todo Once support for MediaWiki < 1.25 is dropped, just use ApiBase::PARAM_HELP_MSG directly */
                                defined( 'ApiBase::PARAM_HELP_MSG' ) ? ApiBase::PARAM_HELP_MSG : '' => 'api-help-param-continue',
                        ),
                );
        }