I haven't found a way to delete items from a page's content with the onennote API.
Let's say my page's content is
<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>
I can build a PATCH
request to insert, append, preprend, ... but that are no instructions to delete content.
I tried to replace the paragraph by some empty content:
[{
'target': 'p:{f5837c83-d816-4337-ab6d-a52abde869a6}{13}',
'action': 'replace',
'content': ' '
},
]
but this leads to an error:
{
"error":{
"code":"20121","message":"The PATCH argument $content: is invalid.","@api.url":"http://aka.ms/onenote-errors#C20121"
}
}
Any suggestion ? Thanks.
Just looking at this in the microsoft graph, you can replace the content with a HTML line break.
[{
'target': 'p:{f5837c83-d816-4337-ab6d-a52abde869a6}{13}',
'action': 'replace',
'content': '<br/>
'
}]
While the API does not support the "DELETE" action in PATCH pages (I'd encourage you to add an entry in our uservoice webpage https://onenote.uservoice.com/forums/245490-onenote-developer-apis ), you can replace the entire page with whatever new content you want it to have.
Another option is similar to what Manoj suggested - replace the parent of the element you want to delete with the same content minus the element you want to delete.
The content parameter on a PATCH API action of type replace is expected to be valid HTML. It's not valid to specify whitespace as replacement content.
You can explore replacing a higher level element than a single paragraph to achieve your scenario, for example.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.