使用Onenote Rest API删除页面内容

时间:2016-10-08 18:31:15

标签: rest onenote onenote-api

我还没有找到使用onennote API从页面内容中删除项目的方法。

假设我的网页内容为

<body>
    <div id="div:{681ddef6-e8ad-0de3-2439-dcc668303696}{34}">
        <p id="p:{f5837c83-d816-4337-ab6d-a52abde869a6}{13}">Delete me</p>
        <p id="p:{1710a020-7fa3-46cb-a8ab-64209696e083}{14}">Keep me/p>
    </div>
</body>

我可以构建一个PATCH请求来插入,附加,预先发布,......但这不是删除内容的说明。

我试图用一些空的内容替换段落:

[{
  'target': 'p:{f5837c83-d816-4337-ab6d-a52abde869a6}{13}',
  'action': 'replace',
  'content': ' '
},
]

但这会导致错误:

{
  "error":{
    "code":"20121","message":"The PATCH argument $content:  is invalid.","@api.url":"http://aka.ms/onenote-errors#C20121"
  }
}

有什么建议吗?感谢。

3 个答案:

答案 0 :(得分:2)

只需在微软图表中查看此内容,您就可以使用HTML换行符替换内容。

[{
      'target': 'p:{f5837c83-d816-4337-ab6d-a52abde869a6}{13}',
      'action': 'replace',
      'content': '<br/>'
    }]

这似乎删除了相应的元素(尽管空白文本框仍可选择)

答案 1 :(得分:0)

虽然API不支持&#34; DELETE&#34;在PATCH页面中的操作(我鼓励您在我们的用户声音网页https://onenote.uservoice.com/forums/245490-onenote-developer-apis中添加条目),您可以用您希望它拥有的任何新内容替换整个页面。

另一个选项与Manoj建议的类似 - 用相同的内容替换要删除的元素的父级减去要删除的元素。

答案 2 :(得分:-1)

类型为replace的PATCH API操作的content参数应该是有效的HTML。将空格指定为替换内容无效。

例如,您可以探索替换比单个段落更高级别的元素来实现您的场景。