Мне нужно завершить задачи на странице пользователя через MS Graph API.Если задачи находятся в списке, после операции замены для задачи список становится неработоспособным.К счастью, я нашел хак для завершения задачи, не нарушая список: Работа с содержимым страницы OneNote с помощью API API Graph
- Вставить завершенную копию целевой задачи перед ней
- Заменить целевую задачу пустым блоком
Если я отправлю эти 2 операции в одном запросе - API вернет 500.
Можно ли это исправить?
Подробности о странице и запросах:
Макет страницы (GET /me/onenote/pages/{{pageId}}/content?includeIDs=true
)
<html lang="en-US">
<head>
<title>Nested list</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="created" content="2018-10-04T09:46:00.0000000" />
</head>
<body data-absolute-enabled="true" style="font-family:Calibri;font-size:11pt">
<div id="div:{b883c993-0084-480b-9f15-3b0407435f29}{144}" style="position:absolute;left:96px;top:139px;width:624px">
<p id="p:{b883c993-0084-480b-9f15-3b0407435f29}{146}" data-tag="to-do" style="margin-top:0pt;margin-bottom:0pt">Super task</p>
<p id="p:{b883c993-0084-480b-9f15-3b0407435f29}{153}" style="margin-top:0pt;margin-bottom:0pt">Point 1</p>
<p id="p:{b883c993-0084-480b-9f15-3b0407435f29}{155}" style="margin-top:0pt;margin-bottom:0pt">Point 2</p>
<p id="p:{b883c993-0084-480b-9f15-3b0407435f29}{149}" data-tag="to-do" style="margin-top:0pt;margin-bottom:0pt">Mega task</p>
<p id="p:{b883c993-0084-480b-9f15-3b0407435f29}{151}" data-tag="to-do" style="margin-top:0pt;margin-bottom:0pt">Mega subtask</p>
</div>
</body>
</html>
Запрос на обновление (PATCH /me/onenote/pages/{{pageId}}/content
):
[
{
"action": "insert",
"position": "before",
"target": "p:{b883c993-0084-480b-9f15-3b0407435f29}{146}",
"content": "<p data-tag=\"to-do:completed\" style=\"margin-top:0pt;margin-bottom:0pt\">Super task</p>"
}, {
"action": "replace",
"target": "p:{b883c993-0084-480b-9f15-3b0407435f29}{146}",
"content": "<span></span>"
}
]
Ответ API:
{
"error": {
"code": "19999",
"message": "Something failed, the API cannot share any more information at the time of the request.",
"innerError": {
"request-id": "d352cd80-b40d-4d55-b984-2bb5cae07f2b",
"date": "2018-10-04T04:24:25"
}
}
}