我如何通过 API 在 MediaWiki 中创建新页面?
How do I create a new page in a MediaWiki via the API?
我想通过 API 在 MediaWiki 中创建一个新页面。根据文档,这应该通过将 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 拒绝了我创建页面的尝试。我在这里错过了什么?如何使用 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"
我想通过 API 在 MediaWiki 中创建一个新页面。根据文档,这应该通过将 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 拒绝了我创建页面的尝试。我在这里错过了什么?如何使用 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"