API:ウォッチリストのフィード

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Watchlist feed and the translation is 58% complete.

Other languages:
English • ‎dansk • ‎français • ‎русский • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어
MediaWiki バージョン: 1.9

Manual:Watchlist フィードを返す GET リクエストです。

APIの説明文書




action=feedwatchlist

(main | feedwatchlist)

Returns a watchlist feed.

Parameters:
feedformat

The format of the feed.

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

List pages modified within this many hours from now.

The value must be between 1 and 72.
Type: integer
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 name
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): minor, !minor, bot, !bot, anon, !anon, patrolled, !patrolled, autopatrolled, !autopatrolled, unread, !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): edit, new, log, external, categorize
Default: edit|new|log|categorize
wlexcludeuser

Don't list changes by this user.

Type: user name
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]

If no user is specified via the wlowner parameter, this API defaults to showing you your own watchlist feed -- or, at least, the watchlist feed of the account you are currently logged in as.

GET リクエスト

Get the watchlist feed for the account making the request.

レスポンス

<?xml version="1.0"?>
<rss version="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>MediaWiki 1.33.0-wmf.13</generator>
	<lastBuildDate>Tue, 22 Jan 2019 16:20:52 GMT</lastBuildDate>
        <item>
            <title>Article on Watchlist</title>
            ...
        </item>
    </channel>
</rss>

サンプル コード

get_my_watchlist_feed.py

#!/usr/bin/python3

"""
    get_my_watchlist_feed.py
    MediaWiki Action API Code Samples
    Demo of `Feedwatchlist` module: Get the watchlist feed 
    for the account making the request.
    MIT license
"""

import requests

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)

パラメーターの履歴

  • v1.27: wltype: categorize を導入しました
  • v1.25: wlshow: unread, wlshow: !unread を導入しました
  • v1.24: linktodiffs を廃止予定にしました
  • v1.22: wltype を導入しました
  • v1.19: wlexcludeuser を導入しました
  • v1.17: linktodiffs を導入しました
  • v1.16: wltoken, wlowner を導入しました
  • v1.12: allrev を導入しました
  • v1.11: hours を導入しました

追加的な注記

  • This API also allows you to access another user's watchlist feed, via their private watchlist token. You can view or reset your own watchlist token by visiting Special:Preferences, under "トークンを管理".
  • The wlexcludeuser parameter only accepts one value; it is not possible to exclude multiple users in a single query.
  • This API does not return JSON -- the response will always be an xml object representing the feed, regardless of whether you add format=json to your query.
  • The feed only displays the most recently modified pages. You will not be able to view pages modified more than 72 hours ago via the API.
  • Although ordinary accounts are granted the right to view their own watchlist by default, bots work differently. You must manually grant the bot this right yourself. You can do so by checking off the "ウォッチリストを閲覧" right on Special:BotPasswords.

関連項目

  • API:ウォッチ - adds or removes pages from your own watchlist.
  • API:Watchlist - an action=query module; gets a list of pages in the watchlist of a user, within a given time period.
  • API:Watchlistraw - an action=query module; gets a list of all pages within the watchlist of a user.