【问题标题】:Confluence REST API Update a PageConfluence REST API 更新页面
【发布时间】:2017-03-10 03:16:16
【问题描述】:

这是我更新现有页面的代码。 JSON 中的变量不是问题,因为我可以使用此 JSON 创建页面而不会出现任何问题。

string json = "{\"type\":\"page\",\"title\":\"" + "Tabelle " + table.Name + "\",\"space\":{\"key\":\"PROG\"},\"ancestors\":[{\"id\":120179837}],\"body\":{\"storage\":{\"value\":\"" + WARNING + table.BasisInfosHtmlString + table.TableStructurHtmlString + table.DependentTablesHtmlString + table.ReferencedInHtmlString + "\",\"representation\":\"storage\"}}}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = Client.PutAsync(@"/rest/api/content", content);

如果我运行它,我会收到服务器错误 405。不知道为什么,因为我可以使用 POST 方法轻松地创建一个页面。

我不是自己托管 API IIS。

【问题讨论】:

标签: c# httpclient confluence-rest-api


【解决方案1】:

您需要将内容 ID 放在 URL 中以更新现有页面:PUT /rest/api/content/{contentId}。

var response = Client.PutAsync(@"/rest/api/content/{contentId}", content);

参考:https://docs.atlassian.com/confluence/REST/latest/#content-update

【讨论】:

  • 我以前试过这个,但没有在 contentId 周围的括号。应该有括号吗?
  • 无括号,见相应文档。
  • 如果您更新页面,您需要在 JSON 有效负载中传递增量版本,如文档中所述。我看到你想更新祖先,不确定在这种情况下是否需要空格键。
【解决方案2】:

这是用于更新页面的完美代码。感谢 mtheriault 的解答!

string json = "{\"version\":{\"number\":2},\"type\":\"page\",\"title\":\"" + "Tabelle " + table.Name + "\",\"ancestors\":[{\"id\":120179837}],\"body\":{\"storage\":{\"value\":\"" + WARNING + table.BasisInfosHtmlString + table.TableStructurHtmlString + table.DependentTablesHtmlString + table.ReferencedInHtmlString + "\",\"representation\":\"storage\"}}}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = Client.PutAsync(@"/rest/api/content/" + pageid, content);

如上所述,我必须增加版本号,还必须将 pageid 放入 Uri。

【讨论】:

    【解决方案3】:

    如果您托管 API iis 可能会出于多种原因阻止 Put 动词(实际上 WebDav 可能是根本原因)

    查看此链接ASP.NET Web API - PUT & DELETE Verbs Not Allowed - IIS 8

    【讨论】:

    • 我没有托管 API iis
    猜你喜欢
    • 2019-01-22
    • 1970-01-01
    • 2017-04-10
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 2017-05-09
    • 1970-01-01
    相关资源
    最近更新 更多