API:Edit - Block/ja
From MediaWiki.org
| このページは MediaWiki API ドキュメントの一部です。 |
| 言語: | English • Deutsch • 日本語 |
|---|
- フォーマット
- エラーの報告
- ログイン
- クエリ
- テンプレートを拡張しレンダリングする
- 編集する
- ページを作成する/編集する
- ページを移動する
- ロールバック
- ページを削除する
- 削除されたリビジョンをリストアする
- ページを保護/保護解除する
- ユーザをブロック/ブロック解除する
- 内部で使う
- その他
- 実装
- クライアントコード
| MediaWiki version: | 1.12 |
Contents |
[edit] トークン
ユーザをブロック/ブロック解除するために、(un)blockトークンが必要です。このトークンはeditトークンと等しくすべてのブロックに対して同じですが、すべてのログインごとに変わります。(un)blockトークンは次の方法で取得できます: blockトークンを取得する
<?xml version="1.0" encoding="utf-8"?> <api> <block blocktoken="bffd6f4fbd23ed07254ec3cec8fa69da+\" /> </api>
unblockトークンを取得する(unblockトークンはblockトークンと等しい)
<?xml version="1.0" encoding="utf-8"?> <api> <unblock blocktoken="bffd6f4fbd23ed07254ec3cec8fa69da+\" /> </api>
[edit] ユーザをブロックする
ユーザーをaction=blockでブロックできます。
[edit] パラメータ
- user: ブロックしたいユーザ名、IPアドレスもしくはIPの範囲。
- token: 以前のリクエストで取得されたトークン。'+'を'%2B'にurlencodeすることに注意して下さい
- gettoken: 設定すると、トークンが返されます。以前のリクエストも参照して下さい。
- expiry: 相対的な期限時間、例えば、'5 months'や'2 weeks'などです。years、daysとhoursも受け入れされます。'infinite'、'infinity'、 'never'、もしくは全く設定しない場合、ブロックが期限切れしなくなります。
- reason: ブロックする理由(オプション)。
- anononly: 設定されると、ユーザのIPからの匿名ログインのみがブロックされるので、編集できるようにするためにユーザにログインもしくはアカウントを作ることを強制できます。
- nocreate: 設定されると、ユーザのIPからアカウント作成をブロックします
- autoblock: 設定されると、このユーザによって使われた最後のIPアドレスとログインしようとする次のIPを自動的にブロックします。
- noemail: 設定されると、ユーザがSpecial:Emailuserを通したEメールの送信できなくなります。
[edit] サンプルのリクエスト
Bobを1 weekブロックし、アカウント作成とEメールを無効にする
<?xml version="1.0" encoding="utf-8"?> <api> <block user="Bob" userID="147" expiry="20070906231113" reason="Time out" nocreate="" noemail="" /> </api>
[edit] 起こり得るエラー
通常のものに加えて次のものがあります:
- code: nouser
- info: userパラメータを設定しなければなりません
- code: notoken
- info: tokenパラメータを設定しなければなりません
- code: permissiondenied
- info: ユーザをブロックするパーミッションがありません
- 大抵のwikiでは、ユーザをブロックする権限はsysopに制限されますが、別のwikiの中にはより厳しいルールを課しているものもあります。
- info: ユーザをブロックするパーミッションがありません
- code: invalidrange
- info: 無効なIPの範囲
- code: rangedisabled
- info: IP範囲のブロックが無効にされています
- code: invalidip
- info: 無効なIPアドレスが指定された
- code: invalidexpiry
- info: 無効な期限切れの時間
- code: alreadyblocked
- info: ブロックしようとしたユーザは既にブロックされています
- code: pastexpiry
- info: 期限の時間は過ぎました
- code: cantblock
- info: ユーザをブロックするパーミッションがありません
- code: canthide
- info: ブロックログからユーザ名を隠すパーミッションがありません
- この機能はLocalSettings.phpで明示的に有効にしなければなりません。
- info: ブロックログからユーザ名を隠すパーミッションがありません
- code: cantblock-email
- info: ユーザがwikiを通して電子メールを送ることをブロックするパーミッションがありません
[edit] ユーザのブロックを解除する
action=unblockでユーザのブロックを解除できます。
[edit] パラメータ
- id: undoしたいブロックのID。ブロックIDはlist=ipblocksを通して入手できます。
- user: ブロックを解除したいユーザ名、IPアドレスもしくはIPの範囲。
- token: 以前のリクエストで取得されたトークン。'+'を'%2B'にurlencodeすることに注意して下さい。
- gettoken: 設定すると、トークンが返されるようになります。以前のリクエストも参照して下さい。
- reason: ブロック解除の理由(オプション)。
[edit] サンプルのリクエスト
Bobをブロック解除し、謝罪します
<?xml version="1.0" encoding="utf-8"?> <api> <unblock id="17" user="Bob" reason="Sorry Bob" /> </api>
[edit] 起こり得るエラー
通常のものに加えて以下のものがあります:
- code: notarget
- info: idもしくはuserパラメータを設定しなければなりません
- code: notoken
- info: tokenパラメータを設定しなければなりません
- code: idanduser
- info: idとuserパラメータは一緒に使うことはできません
- code: blockedasrange
- info: ``range''の一部としてIPアドレス``address''はブロックされました。IPを個別にブロック解除できませんが、全体として範囲をブロック解除できます。
- code: cantunblock
- info: 指定したブロックが存在しませんでした。既にブロック解除されているのかもしれません
- code: permissiondenied
- info: ユーザをブロック解除するパーミッションがありません
- 大抵のwikiでは、ユーザのブロック解除の権限はsysopに制限されますが、別のwikiの中にはより厳しいルールを課しているものがあります。
- info: ユーザをブロック解除するパーミッションがありません