Jump to content
MediaWiki

API:Watchlist/fr Flux de la liste de suivi

From mediawiki.org
This page is a translated version of the page API:Watchlist feed and the translation is 100% complete.
À ne pas confondre avec : API:Watchlist.
Cette page fait partie de la documentation de l'API MediaWiki Action.
API MediaWiki Action
Fonctions de base
Authentification
Comptes et utilisateurs
Opérations sur les pages
Chercher
Outils pour les développeurs
Tutoriels
v · d · e
Version de MediaWiki :
≥ 1.9

Requête GET qui retourne un flux Manuel:liste de suivi .

Documentation de l'API

La documentation qui suit est le résultat de Special:ApiHelp/feedwatchlist, généré automatiquement par la version pre-release de MediaWiki utilisée sur ce site (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]

Exemple

Si le paramètre wlowner ne précise pas d'utilisateur, par défaut cette API affiche votre propre flux de liste de suivi -- ou, au moins, le flux de la liste de suivi du compte sous lequel vous êtes actuellement connecté.

Requête GET

Fournit le flux de la liste de suivi du compte qui en fait la demande.

Réponse

<?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>

Exemple de code

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();

Historique des paramètres

  • v1.27: wltype: categorize ajouté
  • v1.25: wlshow: unread, wlshow: !unread ajouté
  • v1.24: linktodiffs obsolète
  • v1.22: wltype ajouté
  • v1.19: wlexcludeuser ajouté
  • v1.17: linktodiffs ajouté
  • v1.16: wltoken, wlowner ajouté
  • v1.12: allrev ajouté
  • v1.11: hours ajouté

Notes supplémentaires

  • Cette API vous permet aussi d'accéder au flux de la liste de suivi des autres utilisateurs au moyen de leur jeton privé de liste de suivi. Vous pouvez afficher ou réinitialiser votre propre jeton de liste de suivi en allant sur Special:Preferences, sous « Gérer les jetons ».
  • Le paramètre wlexcludeuser n'accepte qu'une seule valeur; il n'est pas possible d'exclure de multiples utilisateurs avec une seule requête.
  • Cette API ne retourne pas de JSON -- la réponse est toujours un objet XML représentant le flux, indépendamment du fait que vous avez ajouté format=json à votre requête.
  • Le flux n'affiche que les pages modifiées les plus récentes. Il n'est pas possible d'afficher via l'API, les pages modifiées depuis plus de 72 heures.
  • Bien que les comptes ordinaires possèdent par défaut, le droit d'afficher leur propre liste de suivi, les robots eux travaillent d'une autre façon. Vous devez manuellement accorder le droit au robot vous-même. Vous pouvez faire cela en décochant le droit « Afficher votre propre liste de suivi » sur Special:BotPasswords.

Voir aussi

  • API:Watch - ajoute ou supprime des pages de votre propre liste de suivi.
  • API:Liste de suivi - un module action=query; fournit une liste de pages de la liste de suivi d'un utilisateur, correspondant à un intervalle de temps donné.
  • API:Watchlistraw - un module action=query ; fournit une liste de toutes les pages de la liste de suivi d'un utilisateur.
Listes de suivi
Modules API
Paramètres de configuration
Tables de la base de données
Pages d’aide
Accroches
Tâches
Scripts de maintenance
Pages spéciales

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