API:Edit - Create&Edit pages/de
From MediaWiki.org
| Diese Seite ist Teil der deutschen Übersetzung der MediaWiki-API-Dokumentation. |
- Datenformate (en)
- Fehlermeldungen (en)
- API-Benutzung einschränken (en)
- Authentifizierung
- Seiten-Matrix (en)
- Abfragen (en)
- Meta-Informationen (en)
- Eigenschaften (en)
- Listen (en)
- Vorlagen expandieren und wiedergeben (en)
- Den Seiten-Cache leeren (en)
- Parameter-Informationen (en)
- Bearbeiten (en)
- Benutzerkonten anlegen (en)
- Seiten anlegen/ändern (en)
- Seiten verschieben (en)
- Rollback (en)
- Seiten löschen (en)
- Gelöschte Änderungen wiederherstellen (en)
- Seiten (ent-)sperren (en)
- Benutzer (ent-)sperren (en)
- Seiten (nicht mehr) beobachten (en)
- E-Mails verschicken (en)
- Änderungen kontrollieren (en)
- Artikel importieren (en)
- Benutzerrechte ändern (en)
- Bilder hochladen (en)
- MediaWiki-Erweiterungen, welche die API erweitern (en)
- Interne API-Nutzung und Erweiterungen (en)
- Vermischtes (en)
- Implementation (en)
- Bekannte API-Nutzer (en)
Contents |
[edit] Token
Um eine Seite bearbeiten zu können wird ein Token benötigt. Das Token ist für alle Seiten gleich, aber ändert sich mit jedem Login. Wenn du dich gegen Bearbeitungskonflikte schützen willst (was zu empfehlen ist), brauchst du außerdem den Zeitstempel der letzen Version. Du erhältst diese wie folgt: Edit-Token holen
<?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="000000000000000000+\"> <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." /> </revisions> </page> </pages> </query> </api>
[edit] Seiten bearbeiten
Seiten können mit action=edit erstellt oder bearbeitet werden.
[edit] Parameter
title: Die zu bearbeitende Seitesection: Der zu bearbeitende Abschnitt. Nutze 0 für den Teil vor der ersten Überschrift und 'new' für einen neuen Abschnitttext: Der neue Inhalt der Seite oder des Abschnittstoken: Edit-Tokensummary: Bearbeitungskommentar- Bei Verwendung von
section=newwird dieser Text für die Abschnittsüberschrift verwendet
- Bei Verwendung von
minor: Die Bearbeitung wird als kleine Bearbeitung markiertnotminor: Die Bearbeitung nicht als klein markiert, selbst wenn „Eigene Änderungen standardmäßig als geringfügig markieren“ in den Einstellungen angegeben wurdebot: Die Bearbeitung als Bot-Änderung markieren; selbst wenn du einen Bot-Account verwendest werden die Änderungen nicht markiert wenn nicht dieses Flag gesetzt istbasetimestamp: Zeitstempel der letzten Version; ungesetzt lassen um Bearbeitungskonflikte zu ignorierenstarttimestamp: Zeitstempel der den Zeitpunkt des Erhaltens des Edit-Tokens enthält; Wird auch verwendet um Bearbeitungskonflikte zu erkennen; ungesetzt lassen um Konflikte zu ignorierenrecreate: Keinen Fehler erzeugen wenn die Seite zwischenzeitlich gelöscht wurde sondern die Seite einfach neu erstellencreateonly: Einen Fehler erzeugen wenn die Seite schon existiertnocreate: Einen Fehler erzeugen wenn die Seite nicht existiertwatch: Die Seite zur Beobachtungsliste hinzufügenunwatch: Die Seite aus der Beobachtungsliste entfernen oder nicht zu ihr hinzufügen auch wenn „Selbst geänderte und neu erstellte Seiten automatisch beobachten“ eingestellt istmd5: MD5-Summe destext-Parameters. Wenn der Parameter gesetzt ist und die Prüfsummen nicht übereinstimmen wird die Bearbeitung nicht ausgeführt. Damit kann man sich vor Datenverfälschung schützen.captchaid: CAPTCHA ID der vorhergehenden Anfragecaptchaword: Antwort auf das CAPTCHAundo: Versions-ID zum Zurücksetzen.text,prependtextundappendtextwerden ignoriert.undoafter: Alle Versionen vonundobis zu dieser aber nicht einschließlich dieser Version zurücksetzen. Wenn er nicht gesetzt ist wird nur eine Version rückgängig gemacht.
[edit] Beispiel
Hinweis: In diesem Beispiel werden alle Parameter der Einfachheit halber ein einer GET-Anfrage übergeben. Die Software fordert für action=edit allerdings POST-Anfragen. GET-Anfragen werden einen Fehler verursachen. Vergiss nicht die Header-Zeile Content-Type deiner Anfrage auf application/x-www-form-urlencoded zu setzen. Das Token das du erhälst endet mit +\ und muss URL-Codiert werden, sodass es mit %2B%5C endet. Einen neuen Abschnitt zu en:Talk:Main Page hinzufügen
<?xml version="1.0" encoding="utf-8"?> <api> <edit result="Success" pageid="12" title="Talk:Main Page" oldrevid="465" newrevid="471" /> </api>
[edit] Captchas und Fehler aus Erweiterungen
Wenn eine Bearbeitung Captchas erfordert, wirst du so eine Antwort erhalten:
<?xml version="1.0" encoding="utf-8"?> <api> <edit result="Failure"> <captcha type="math" mime="text/tex" id="509895952" question="36 + 4 = " /> </edit> </api>
In den meisten Fällen wirst du kein Mathe-Captcha erhalten sondern eine URL zu einem Bild (im url-Feld). Wenn du das Captcha gelöst hast, sende die Anfrage erneut (in diesem Fall mit captchaid=509895952&Captchaword=40).
Andere Erweiterungen, die den APIEditBeforeSave-Hook verwenden, können Fehler zurückgeben und dabei entweder das oben beschriebene Format oder das übliche Fehlerformat verwenden.
[edit] Mögliche Fehler
Zusätzlich zu den üblichen Fehlern:
- code: notitle
- info: Der Parameter title muss gesetzt sein
- code: notext
- info: Einer der Parameter text, appendtext, prependtext und undo muss gesetzt sein
- code: notoken
- info: Der Parameter token muss gesetzt sein
- code: invalidsection
- info: Der Parameter section muss auf eine ganze Zahl oder 'new' gesetzt sein
- code: protectedtitle
- info: Das Lemma ist geschützt
- code: cantcreate
- info: Du hast keine Berechtigung die Seite zu erstellen
- code: cantcreate-anon
- info: Anonyme Benutzer können keine neuen Seiten erstellen
- code: articleexists
- info: Der Artikel existiert bereits
- code: noimageredirect-anon
- info: Anonyme Benutzer können keine Weiterleitungen für Bilder erstellen
- code: noimageredirect
- info: Du darfst keine Weiterleitungen für Bilder erstellen
- code: spamdetected
- info: Deine Anfrage wurde zurückgewiesen weil sie ein Spam-Element enthält: ``wikitext''
- code: filtered
- info: Die Filterfunktion hat deine Anfrage zurückgewiesen
- code: contenttoobig
- info: Der Text den du gesendet hast überschreitet die maximale Artikelgröße von bytes Bytes
- code: noedit-anon
- info: Anonyme Benutzer können keine Seiten bearbeiten
- code: noedit
- info: Du hast keine Berechtigung Seiten zu bearbeiten
- code: pagedeleted
- info: Die Seite wurde gelöscht seit du den Zeitstempel geholt hast
- code: emptypage
- info: Das Erstellen neuer leerer Seiten ist nicht erlaubt
- code: emptynewsection
- info: Das Erstellen neuer leerer Abschnitte ist nicht erlaubt
- code: editconflict
- info: Es ist ein Bearbeitungskonflikt aufgetreten
- code: revwrongpage
- info: rrevid ist keine Versionsnummer der Seite ``pagename''
- Tritt auf wenn eine ungültige revid für
undooderundoafterangegeben wird
- Tritt auf wenn eine ungültige revid für
- info: rrevid ist keine Versionsnummer der Seite ``pagename''
- code: undo-failure
- info: Fehler beim Zurücksetzen wegen zwischenzeitlicher Bearbeitungen