我如何通过 API 在 MediaWiki 中创建新页面?

How do I create a new page in a MediaWiki via the API?

我想通过 API 在 MediaWiki 中创建一个新页面。根据文档,这应该通过将 action 设置为 edit 然后指定一组参数来完成,例如像这样:

当然还有 CSRF 令牌。

但是,如果我尝试使用这些参数创建页面,我会收到以下错误响应:

似乎与 API 文档相反,API 拒绝了我创建页面的尝试。我在这里错过了什么?如何使用 API?

在 MediaWiki 中创建新页面

基本上,问题中指定的数据已经是发送到 API 以创建新 wiki 页面的正确数据。

不幸的是,必须考虑一个简单但非常重要的细节:MediaWiki API 识别 布尔变量不是通过它们的值,而是通过它们的存在 。这意味着:如果您在数据结构中按字面意思指定 nocreate = false,则意味着 nocreate = true 代表 API。

为 MediaWiki API 指定数据的正确方法是省略任何包含 false.

的布尔变量

因此发送到 API 的正确数据如下:

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