API:Block/ja

トークン
ユーザをブロック/ブロック解除するために、ブロック/ブロック解除トークンが必要です. このトークンは編集トークンと同様すべてのブロックに対して共通ですが、ログインのたびに変化します. ブロック/ブロック解除トークンは、action=tokens の type に (un)block を指定することで取得できます (MW 1.20 以降). または、以下の方法で取得できます:

利用者のブロック
ユーザーをaction=blockでブロックできます.

パラメータ

 * : ブロックしたいユーザ名、IPアドレスもしくはIPの範囲.
 * : 以前のリクエストで取得されたトークン. '+'を'%2B'にurlencodeすることに注意して下さい
 * : 相対的な期限時間、例えば、'5 months'や'2 weeks'などです. years、daysとhoursも受け入れされます. 'infinite'、'infinity'、 'never'、もしくは全く設定しない場合、ブロックが期限切れしなくなります.
 * : ブロックする理由(オプション).
 * : 設定されると、ユーザのIPからの匿名ログインのみがブロックされるので、編集できるようにするためにユーザにログインもしくはアカウントを作ることを強制できます.
 * : 設定されると、ユーザのIPからアカウント作成をブロックします
 * : 設定されると、このユーザによって使われた最後のIPアドレスとログインしようとする次のIPを自動的にブロックします.
 * : 設定されると、ユーザがSpecial:Emailuserでのメール送信ができなくなります.

Don't forget to append = even to parameters with no value, for example &autoblock doesn't work, &autoblock= does work

例
Note: In this example, all parameters are passed in a GET request just for the sake of simplicity. However, action=block requires POST requests; GET requests will cause an error.

起こり得るエラー
通常のものに加えて次のものがあります:


 * code: nouser
 * info: userパラメータを設定しなければなりません
 * code: notoken
 * info: tokenパラメータを設定しなければなりません
 * code: permissiondenied
 * info: ユーザをブロックするパーミッションがありません
 * 大抵のwikiでは、ユーザをブロックする権限はsysopに制限されますが、別のwikiの中にはより厳しいルールを課しているものもあります.
 * 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で明示的に有効にしなければなりません.
 * code: cantblock-email
 * info: ユーザがwikiを通して電子メールを送ることをブロックするパーミッションがありません

利用者のブロック解除
action=unblockでユーザのブロックを解除できます.

パラメータ

 * : undoしたいブロックのID. ブロックIDはlist=ipblocksを通して入手できます.
 * : ブロックを解除したいユーザ名、IPアドレスもしくはIPの範囲.
 * : 以前のリクエストで取得されたトークン. '+'を'%2B'にurlencodeすることに注意して下さい.
 * : 設定すると、トークンが返されるようになります. 以前のリクエストも参照して下さい.
 * : ブロック解除の理由(オプション).

起こり得るエラー
通常のものに加えて以下のものがあります:


 * 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の中にはより厳しいルールを課しているものがあります.