Jump to content
MediaWiki

API:Zdroj sledovaných položek

From mediawiki.org
This page is a translated version of the page API:Watchlist feed and the translation is 100% complete.
Nezaměňovat s API:Watchlist.
Tato stránka je součástí dokumentace k API Action MediaWiki.
Akce API MediaWiki
Základní informace
Přihlášení
Uživatelské účty a uživatelé
Operace spojené se stránkou
Vyhledávání
Nástroje pro vývojáře
Návody
v · d · u
Verze MediaWiki:
≥ 1.9

Požadavek GET, který vrací zdroj Příručka:Seznam sledovaných .

Dokumentace API

Následující dokumentace je výstupem Special:ApiHelp/feedwatchlist, automaticky generovaným pre-release verzí MediaWiki, která je spuštěna na tomto webu (MediaWiki.org).

action=feedwatchlist

(main | feedwatchlist)

Returns a watchlist feed.

Specific parameters:
Other general parameters are available.
feedformat

The format of the feed.

One of the following values: atom, rss
Default: rss
hours

List pages modified within this many hours from now.

Type: integer
The value must be between 1 and 72.
Default: 24
linktosections

Link directly to changed sections if possible.

Type: boolean (details)
allrev

Include multiple revisions of the same page within given timeframe.

Type: boolean (details)
wlowner

Used along with token to access a different user's watchlist.

Type: user, by username
wltoken

A security token (available in the user's preferences) to allow access to another user's watchlist.

wlshow

Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set show=minor|!anon.

Values (separate with | or alternative): !anon, !autopatrolled, !bot, !minor, !patrolled, !unread, anon, autopatrolled, bot, minor, patrolled, unread
wltype

Which types of changes to show:

edit
Regular page edits.
new
Page creations.
log
Log entries.
external
External changes.
categorize
Category membership changes.
Values (separate with | or alternative): categorize, edit, external, log, new
Default: edit|new|log|categorize
wlexcludeuser

Don't list changes by this user.

Type: user, by any of username, IP, Temporary user, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
Examples:
Show the watchlist feed.
api.php?action=feedwatchlist [open in sandbox]
Show all changes to watched pages in the past 6 hours.
api.php?action=feedwatchlist&allrev=&hours=6 [open in sandbox]

Příklad

Pokud pomocí parametru wlowner není zadán žádný uživatel, toto rozhraní API vám ve výchozím nastavení zobrazí váš vlastní zdroj seznamu sledovaných položek – nebo alespoň zdroj seznamu sledovaných položek účtu, pod kterým jste aktuálně přihlášeni.

Požadavek GET

Získejte zdroj seznamu sledovaných pro účet, který podává žádost.

Odpověď

<?xml version="1.0"?>
<rssversion="2.0"xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Wikipedia-Watchlist[en]</title>
<link>https://en.wikipedia.org/wiki/Special:Watchlist</link>
<description>Watchlist</description>
<language>en</language>
<generator>MediaWiki1.33.0-wmf.13</generator>
<lastBuildDate>Tue,22Jan201916:20:52GMT</lastBuildDate>
<item>
<title>ArticleonWatchlist</title>
...
</item>
</channel>
</rss>

Ukázkový kód

Python

#!/usr/bin/python3
"""
 get_my_watchlist_feed.py
 MediaWiki API Demos
 Demo of `Feedwatchlist` module: Get the watchlist feed
 for the account making the request.
 MIT license
"""
importrequests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
# Step 1: Retrieve a login token
PARAMS_1 = {
 "action": "query",
 "meta": "tokens",
 "type": "login",
 "format": "json"
}
R = S.get(url=URL, params=PARAMS_1)
DATA = R.json()
LOGIN_TOKEN = DATA['query']['tokens']['logintoken']
# Step 2: Send a post request to log in. For this login
# method, Obtain credentials by first visiting
# https://en.wikipedia.org/wiki/Special:BotPasswords/
# See https://www.mediawiki.org/wiki/API:Login for more
# information on log in methods.
PARAMS_2 = {
 "action": "login",
 "lgname": "user_name",
 "lgpassword": "password",
 "format": "json",
 "lgtoken": LOGIN_TOKEN
}
R = S.post(URL, data=PARAMS_2)
# Step 3: Request the account's own watchlist feed
PARAMS_3 = {
 "action": "feedwatchlist"
}
R = S.get(url=URL, params=PARAMS_3)
DATA = R.text
print(DATA)

PHP

<?php
/*
 get_my_watchlist_feed.php
 MediaWiki API Demos
 Demo of `Feedwatchlist` module: Get the watchlist feed
	for the account making the request.
 MIT license
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$login_Token = getLoginToken(); // Step 1
loginRequest( $login_Token ); // Step 2
get_watchlist_feed(); // Step 3
// Step 1: GET request to fetch login token
function getLoginToken() {
	global $endPoint;
	$params1 = [
		"action" => "query",
		"meta" => "tokens",
		"type" => "login",
		"format" => "json"
	];
	$url = $endPoint . "?" . http_build_query( $params1 );
	$ch = curl_init( $url );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
	$output = curl_exec( $ch );
	curl_close( $ch );
	$result = json_decode( $output, true );
	return $result["query"]["tokens"]["logintoken"];
}
// Step 2: POST request to log in. Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
function loginRequest( $logintoken ) {
	global $endPoint;
	$params2 = [
		"action" => "login",
		"lgname" => "bot_user_name",
		"lgpassword" => "bot_password",
		"lgtoken" => $logintoken,
		"format" => "json"
	];
	$ch = curl_init();
	curl_setopt( $ch, CURLOPT_URL, $endPoint );
	curl_setopt( $ch, CURLOPT_POST, true );
	curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params2 ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
	$output = curl_exec( $ch );
	curl_close( $ch );
}
// Step 3: Request the account's own watchlist feed
function get_watchlist_feed() {
	global $endPoint;
	$params3 = [
		"action" => "feedwatchlist",
		"format" => "json"
	];
	$url = $endPoint . "?" . http_build_query( $params3 );
	$ch = curl_init( $url );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );
	$output = curl_exec( $ch );
	curl_close( $ch );
	echo( $output );
}

JavaScript

/* 
 get_my_watchlist_feed.js

 MediaWiki API Demos
 Demo of `Feedwatchlist` module: Get the watchlist feed 
 for the account making the request.
 MIT license
*/
varrequest=require('request').defaults({jar:true}),
url="https://test.wikipedia.org/w/api.php";
// Step 1: GET request to fetch login token
functiongetLoginToken(){
varparams_1={
action:"query",
meta:"tokens",
type:"login",
format:"json"
};
request.get({url:url,qs:params_1},function(error,res,body){
if(error){
return;
}
vardata=JSON.parse(body);
loginRequest(data.query.tokens.logintoken);
});
}
// Step2: Send a post request to login. Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
functionloginRequest(login_token){
varparams_2={
action:"login",
lgname:"bot_username",
lgpassword:"bot_password",
lgtoken:login_token,
format:"json"
};
request.post({
url:url,
form:params_2,
},function(error,res,body){
if(error){
return;
}
getWatchlistFeed();
});
}
// Step 3: Request the account's own watchlist feed
functiongetWatchlistFeed(){
varparams_3={
action:"feedwatchlist"
};
request.get({url:url,qs:params_3},function(error,res,body){
if(error){
return;
}
console.log(body);
});
}
// Start From Step 1
getLoginToken();

Historie parametrů

  • v1.27: Představeno wltype: categorize
  • v1.25: Představeno wlshow: unread, wlshow: !unread
  • v1.24: Zastaralé linktodiffs
  • v1.22: Představeno wltype
  • v1.19: Představeno wlexcludeuser
  • v1.17: Představeno linktodiffs
  • v1.16: Představeno wltoken, wlowner
  • v1.12: Představeno allrev
  • v1.11: Představeno hours

Další poznámky

  • Toto rozhraní API vám také umožňuje přístup ke zdroji seznamu sledovaných uživatelů prostřednictvím jejich soukromého tokenu seznamu sledovaných. Svůj vlastní token seznamu sledovaných můžete zobrazit nebo resetovat na stránce Special:Preferences pod "Správa klíčů".
  • Parametr wlexcludeuser přijímá pouze jednu hodnotu. Není možné vyloučit více uživatelů v jednom dotazu.
  • Toto rozhraní API nevrací JSON – odpovědí bude vždy objekt xml představující zdroj, bez ohledu na to, zda k dotazu přidáte format=json.
  • Zdroj zobrazuje pouze naposledy upravené stránky. Prostřednictvím rozhraní API nebudete moci zobrazit stránky upravené před více než 72 hodinami.

Prostřednictvím rozhraní API nebudete moci zobrazit stránky upravené před více než 72 hodinami. Toto právo musíte robotovi udělit ručně sami. Můžete tak učinit zaškrtnutím "Prohlížení vlastního seznamu sledovaných stránek" přímo na Special:BotPasswords.

Související odkazy

Sledované stránky
API moduly
Nastavení konfigurace
Databázové tabulky
Stránky nápovědy
Háčky
Pracovní místa
Údržbářské skripty
Speciální stránky

AltStyle によって変換されたページ (->オリジナル) /