API:Стверджувати
Ця сторінка є частиною документації по MediaWiki Action API. |
Версія MediaWiki: | ≥ 1.23 |
The assert parameter of the Action API can be set on any API request to verify certain conditions before the requested action is executed.
The available options are:
assert=anon
: Check that you are acting as an IP user . This prevents accidental use of a registered account. Since MediaWiki 1.35 • change 572374assert=user
: Check that you are using a registered account (either "named" or temporary). This prevents accidental fallback to an IP user.assert=bot
: Перевіряє, чи ваш обліковий запис має права користувача «бот». This prevents your script from interacting with wikis where your bot does not have the bot flag.assertuser=...
: Check that you are logged-in with the expected user name. Since MediaWiki 1.28
Note that temporary users satisfy assert=user
, and fail assert=anon
.
Possible errors
Якщо твердження не вдається, буде повернуто коди помилок $1 або $2.
assertanonfailed
assertuserfailed
assertbotfailed
assertnameduserfailed
Rationale and use cases
These parameters are intended as a second line of defense against several kinds of problems:
Bot operator errors
It's easy for a simple operator error to cause a lot of bad edits, such as the bot running on the wrong wiki or under the wrong username, especially if you're running more than one bot task.
The assert=bot
and assertuser=...
parameters are intended to help prevent those mistakes.
Login session expiration
After logging in, the cookies you receive are only valid for 30 days by default, after which time your bot will become logged out, and may continue working with its actions being attributed to the IP address or a temporary username (if logged-out users are allowed to perform them).
The assert=user
parameter is intended to prevent this.
Switching user accounts
Interactive tools (in the browser) using the API to edit often want to make sure the user understands how their work will be attributed.
When the user logs in or out in another browser tab (or their login session expires), this won't be immediately reflected in the tool's interface, but the new login session will be used for saving actions.
The assertuser=...
and assert=anon
parameters are intended to allow detecting this scenario and displaying an appropriate message before continuing.
Перевірка, чи ви ввійшли в систему
Якщо ви просто хочете перевірити, чи ви ввійшли в API дії, ви можете надіслати запит із параметрами action=query&assert=user
.
Це поверне просту порожню відповідь ({}
у форматі JSON), якщо ви справді ввійшли, або помилку assertuserfailed
, якщо ні.
Як правило, вам не потрібно цього робити.
Натомість додайте параметр assert=user
до всіх запитів, які має виконувати користувач, який ввійшов до системи.