Как мне создать новую страницу в MediaWiki через API? - PullRequest
0 голосов
/ 23 марта 2020

Я бы хотел создать новую страницу в MediaWiki через API. В соответствии с документацией это должно быть выполнено путем установки action в edit и последующего указания набора параметров, например, таких как:

  • bot = false
  • contentformat = "text/x-wiki"
  • contentmodel = "wikitext"
  • createonly = false
  • minor = true
  • nocreate = false
  • recreate = true
  • summary = ""
  • text = "........"
  • title = "SomeTitle123"

И, конечно, токен CSRF.

Однако, если я попытаюсь для создания страницы с использованием этих параметров я получаю следующее сообщение об ошибке:

  • code: "missingtitle"
  • info: "The page you specified doesn't exist."

Кажется, что в отличие от Документация API API отклоняет мою попытку создать страницу. Что мне здесь не хватает? Как можно создать новую страницу в MediaWiki с помощью API?

1 Ответ

0 голосов
/ 25 марта 2020

В основном данные, указанные в вопросе, уже являются правильными данными для отправки в API для создания новой вики-страницы.

К сожалению, необходимо рассмотреть простую, но очень важную деталь: API MediaWiki распознает логические переменные не по их значению, а по их наличию . Это означает: если вы указали nocreate = false буквально в своей структуре данных, что означает nocreate = true для API.

Правильный способ указать данные для MediaWiki API - это исключить любую логическую переменную, содержащую false.

Поэтому правильные данные для отправки в API следующие:

  • contentformat = "text/x-wiki"
  • contentmodel = "wikitext"
  • minor = true
  • recreate = true
  • summary = ""
  • text = "........"
  • title = "SomeTitle123"
...