API:Block/ja

トークン
ユーザをブロック/ブロック解除するために、(un)blockトークンが必要です. このトークンはeditトークンと等しくすべてのブロックに対して同じですが、すべてのログインごとに変わります. (un)blockトークンは次の方法で取得できます:

ユーザをブロックする
ユーザーをaction=blockでブロックできます.

パラメータ

 * 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メールの送信できなくなります.

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


 * 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でユーザのブロックを解除できます.

パラメータ

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

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


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