API:Protect/de

Token
Um den Seitenschutz einer Seite zu verändern braucht man ein Seitenschutz-Token. Dies ist der gleiche wie der Edit-Token und derselbe für alle Seiten, er ändert sich allerdings bei jedem Login. Einen Seitenschutz-Token kann man folgendermaßen erhalten:

Seiten schützen (aka Seiten sperren)
Seiten können mit action=protect geschützt werden.

Parameter

 * : Zu schützende Seite.
 * : Der in der vorigen Abfrage erhaltene Token. Das abschließende  muss als   urlencoded sein.
 * : Eine durch ‚|‘ getrennte Liste von Seitenschutzen, formatiert als, z. B.
 * Um einen Seitenschutz aufzuheben, muss man  als Benutzergruppe angeben, z. B.
 * Wird eine Aktion ausgelassen, wird der dazugehörige Wert nicht verändert, d. h.  lässt den Verschiebeschutz unberührt.
 * : Eine durch ‚|‘ getrennte Liste von Timestamps im GNU Timestamp-Format, welche die Dauer der Seitenschutze angeben. Die erste Timestamp wird auf den ersten Schutz in  angewandt, die zweite auf den zweiten u.s.w. Die Timestamps ,   und   erzeugen einen nie endenden Seitenschutz. Du kannst auch Timestamps wie   oder   (in Englischer Sprache) verwenden, für Einzelheiten siehe die verlinkte GNU-Seite.
 * Die Nummer der Timestamps muss der Nummer der Seitenschutze entsprechen, wenn nicht, wird ein Fehler zurückgegeben.
 * Um Rückwärts-Kompatibilität zu wahren, besteht bei dieser Regel eine Ausnahme: Wird nur eine einzige Timestamp angegeben, gilt diese für alle Seitenschutze
 * Wird der Parameter nicht gesetzt ist dies gleichbedeutend mit
 * : Der Grund für den Seitenschutz/die Aufhebung des Seitenschutzes (optional)
 * : Wenn gesetzt, werden Seiten, die in die geschützte Seite eingebunden sind, auch geschützt. Falls für das Bearbeiten der Seite weniger Nutzerrechte als für das Schützen von Seiten benötigt werden (z. B. edit=autoconfirmed), wird dieser Parameter ohne Fehlermeldung ignoriert, um zu verhindern, dass Nutzer, die keine Seiten schützen können sollen, trotzdem Seiten schützen, indem sie sie in eine Seite mit kaskadierendem Seitenschutz einbinden.

Beispiele
Beachte: In diesem Beispiel werden alle Parameter der Einfachheit wegen als GET-Anforderung gesendet. Jedoch muss action=protect mit einer POST-Anforderung gesendet werden, GET-Anforderungen liefern einen Fehler zurück.

Fehler
Zusätzlich zu den üblichen Fehlern:


 * code: notitle
 * info: The title parameter must be set
 * Der Parameter title muss gesetzt werden
 * code: notoken
 * info: The token parameter must be set
 * Der Parameter token muss gesetzt werden
 * code: noprotections
 * info: The protections parameter must be set
 * Der Parameter protections muss gesetzt werden
 * code: invalidexpiry
 * info: Invalid expiry time “expiry”
 * Ungültige Ablaufzeit
 * Das bedeutet, dass die Timestamp falsch formatiert war oder das Datum nicht existiert (wie November 31 oder 24:05)
 * code: pastexpiry
 * info: Expiry time “expiry” is in the past
 * Die Ablaufzeit liegt in der Vergangenheit
 * code: toofewexpiries
 * info: number expiry timestamps were provided where number were needed
 * Es wurden Zahl Timestamps angegeben, notwendig wären Zahl
 * (Der englische Name des Fehlers ist eine Fehlbenennung: der Fehler wird auch erzeugt, wenn man zu viele Timestamps angibt)
 * code: cantedit
 * info: You can't protect this page because you can't edit it
 * Seitenschutz kann nicht gesetzt werden, da du die Seite nicht bearbeiten darfst
 * code: create-titleexists
 * info: Existing titles can't be protected with 'create'
 * Bereits bestehende Seiten können nicht mit „create“ vor der Anlage geschützt werden.
 * code: missingtitle-createonly
 * info: Missing titles can only be protected with 'create'
 * Fehlende Seiten können nur mit „create“ geschützt werden.
 * code: protect-invalidaction
 * info: Invalid protection type “type”
 * Ungültiger Seitenschutz „Typ“
 * code: protect-invalidlevel
 * info: Invalid protection level “level”
 * Ungültige Seitenschutzgruppe „Benutzergruppe“