Onenote Graph API 删除 table 上的样式和数据标签替换

Onenote Graph API removes styles and data-tags on table replace

我有一个 OneNote 页面,其中包含 table 个任务:第一列是带有待办事项标签(复选框)的任务名称,第二列是描述。 table 已从 OneNote web UI(OneNote 在线)创建。

我想通过 Graph API 标记已完成的任务。 According documentation 我只能通过替换整个 table 来更新 table 内容。但是更新后我的 table 不再有边框,并且所有待办事项标签(复选框)都丢失了。

工作流程:

  1. 获取页面内容(docs, response)
  2. 从内容中取出table,找到需要的任务,将data-tagto-do替换为to-do:completed
  3. 使用生成的 ID (docs, response) 获取页面内容以找到目标 table id
  4. 发送 PATCH 请求替换 table (request - response)
  5. Table became replaced 但所有边框已设置为 0px,并且所有 data-tags 已被删除

这里是 PATCH 请求负载的内容字段的格式化值 (raw request here):

<table style="border:1px solid;border-collapse:collapse">
    <tr>
        <td style="border:1px solid"><span style="font-weight:bold">Task</span></td>
        <td style="border:1px solid"><span style="font-weight:bold">Comment</span></td>
    </tr>
    <tr>
        <td style="border:1px solid"><span data-tag="to-do:completed">Update todo in table</span></td>
        <td style="border:1px solid">There are some issues when we updating todos located inside of tables</td>
    </tr>
</table>

我的 PATCH 请求有什么问题?


从底部的 link HTML 的示例块中可以了解 OneNote-API 如何处理表格。
具体边框将根据 "Table Tools" -> "Layout" -> "Hide Borders" 切换下的页面当前设置隐藏或显示。
就待办事项框而言,这些必须包含在一个段落中,例如:

 <td><p data-tag="to-do:completed" data-id="oa">OA Check</p></td>

不要在样式属性中指定边框。只需将边框指定为 table 单元格属性。

感谢您通过 Microsoft Graph 使用 OneNote API!