API:Edit - Create&Edit pages/ja

From MediaWiki.org

Jump to: navigation, search
このページは MediaWiki API ドキュメントの一部です。
MediaWiki API


MediaWiki version: 1.12

Contents

[edit] トークン

ページを編集するために、編集トークンが必要です。このトークンはすべてのページに対して同じですが、ログインごとに変わります。編集の衝突から保護するために(賢明なことです)、最後のリビジョンのタイムスタンプを取得することも必要です。これらの値を次のように取得します:

編集トークンを取得する

api.php ? action=query & prop=info|revisions & intoken=edit & titles=Main%20Page

<?xml version="1.0" encoding="utf-8"?>
<api>
  <query>
    <pages>
      <page pageid="15580374" ns="0" title="Main Page" touched="2008-03-27T21:15:39Z" lastrevid="199631190" counter="0" length="4712" edittoken="+\">
        <revisions>
          <rev revid="199631190" user="David Levy" timestamp="2008-03-20T17:26:39Z" comment="Have you tested it in every major browser at every resolution? Have you tested it in screen readers for the visually-impaired? Have you sought consensus for the altered appearance?  Please stop." />
        </revisions>
      </page>
    </pages>
  </query>
</api>

[edit] ページを編集する

ページをaction=editで編集と作成ができます。

[edit] パラメータ

  • title: 編集するページ
  • section: 編集するセクション。トップのセクションに対しては0、新しいセクションに対して'new'を使う
  • text: 新しいページ(もしくはセクションの)内容
  • token: 編集トークン
  • summary: 編集のコメント
    • section=newを使うとき、これはセクションのタイトルのために使われます
  • minor: 設定されると、細部の編集としてマークする
  • notminor: 設定されると、"Mark all my edits minor by default"とMy preferences(オプション)で有効にしていたとしても、細部の編集としてマークしない。
  • bot: 設定されると、botの編集としてマークする
  • basetimestamp: 最後のリビジョンのタイムスタンプで、編集の衝突を検知するために使われます。衝突を無視するためには設定されてない状態にしておきます
  • recreate: 設定すると、ページが削除されている間のエラー表示を抑制しページを再作成する
  • createonly: 設定されると、ページが既に存在する場合エラーをスローする
  • watch: ページをウォッチリストに追加する
  • unwatch: ウォッチリストからページを削除する、もしくは"Automatically watch all pages I edit"のようにpreferenceで有効になっていたしても追加しない
  • captchaid: 以前のリクエストからのCAPTCHAのID
  • captchaword: CAPTCHAへの回答

[edit]

注: この例では、簡潔性のためだけにすべてのパラメータはGETリクエストに渡されますが。しかしながらaction=editはPOSTリクエストを必要です; GET リクエストはエラーを引き起こします。リクエストのヘッダにContent-Typeとしてapplication/x-www-form-urlencodedをセットするのを忘れないようにしてください。


新しいセクションをen:Talk:Main Pageに追加する

api.php ? action=edit & title=Talk:Main_Page & section=new & summary=Hello%20World & text=Hello%20everyone! & watch & basetimestamp=2008-03-20T17:26:39Z & token=cecded1f35005d22904a35cc7b736e18+\

<?xml version="1.0" encoding="utf-8"?>
<api>
  <edit result="Success" pageid="12" title="Talk:Main Page" oldrevid="465" newrevid="471" />
</api>

[edit] CAPTCHAと拡張機能のエラー

編集がCAPTCHAを必要な場合、次のようなエラーが表示されます:

<?xml version="1.0" encoding="utf-8"?>
<api>
  <edit result="Failure">
    <captcha type="math" mime="text/tex" id="509895952" question="36 + 4 = " />
  </edit>
</api>

大抵の場合、you won't get a math 数学のCAPTCHAを得られず、(urlフィールドの)画像へのURLになります。CAPTCHAを解決したとき、リクエストを再試行して下さい(この場合は captchaid=509895952&captchaword=40で)。

Other extensions that use the APIEditBeforeSaveフックを使う別のフックは通常のエラーフォーマットで説明されたどちらかのフォーマットを使うとエラーを返すことがあります。

[edit] 起こり得るエラー

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

  • code: notitle
    • info: titleパラメータを設定しなけばなりません
  • code: notext
    • info: textパラメータを設定しなければなりません
  • code: notoken
    • info: tokenパラメータを設定しなければなりません
  • code: invalidsection
    • info: sectionパラメータは整数もしくは'new'に設定しなければなりません
  • code: protectedtitle
    • info: このタイトルは作ることができないように保護されています
  • code: cantcreate
    • info: 新しいページを作るパーミッションを持っていません
  • code: cantcreate-anon
    • info: 匿名ユーザは新しいページを作ることができません
  • code: articleexists
    • info: 作ろうとした記事は既に作れたものです
  • code: noimageredirect-anon
    • info: 匿名ユーザは画像のリダイレクトを作ることができません
  • code: noimageredirect
    • info: 画像のリダイレクトを作るパーミッションを持っていません
  • code: spamdetected
    • info: スパムのフラグメント(断片)が含まれているので、編集が拒否されました: ``wikitext''
  • code: filtered
    • info: フィルタコールバック関数が編集を拒否しました
  • code: contenttoobig
    • info: あなたが提供した内容はbytesバイトの記事の制限を越えます
  • code: noedit-anon
    • info: 匿名ユーザはページを編集できません
  • code: noedit
    • info: ページを編集するパーミッションを持っていません。
  • code: pagedeleted
    • info: タイムスタンプを取得した後でページは削除されました
  • code: emptypage
    • info: 新しい、空のページを作ることは許可されてません
  • code: editconflict
    • info: 編集の衝突が検知されました
Personal tools