API:Edit/ja
From MediaWiki.org
< API:Edit(Redirected from API:Edit - Create&Edit pages/ja)
| このページは MediaWiki API ドキュメントの一部です。 |
| 言語: | English • Deutsch • Español • Français • 日本語 • Tiếng Việt |
|---|
| MediaWiki version: | 1.12 |
Contents |
[edit] トークン
ページを編集するために、編集トークンが必要です。このトークンはすべてのページに対して同じですが、ログインごとに変わります。編集の衝突から保護するために(賢明なことです)、最後のリビジョンのタイムスタンプを取得することも必要です。これらの値を次のように取得します: 編集トークンを取得する
<?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のIDcaptchaword: CAPTCHAへの回答
[edit] 例
注: この例では、簡潔性のためだけにすべてのパラメータはGETリクエストに渡されますが。しかしながらaction=editはPOSTリクエストを必要です; GET リクエストはエラーを引き起こします。リクエストのヘッダにContent-Typeとしてapplication/x-www-form-urlencodedをセットするのを忘れないようにしてください。
新しいセクションをen:Talk:Main Pageに追加する
<?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: 編集の衝突が検知されました