API:Edit - Block/ja

From MediaWiki.org
Jump to: navigation, search
Tools clipart.png このページは MediaWiki API ドキュメントの一部です。
言語: English  • Deutsch • 日本語
MediaWiki API
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の中にはより厳しいルールを課しているものもあります。
  • 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を通して電子メールを送ることをブロックするパーミッションがありません

[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の中にはより厳しいルールを課しているものがあります。
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox