Onenote Graph API删除表替换时的样式和数据标签

时间:2018-09-24 10:44:00

标签: microsoft-graph onenote onenote-api

我有一个包含任务表的OneNote页面:第一列是带有待办事项标签的任务名称(复选框),第二列是具有描述的任务名称。该表是通过OneNote Web UI(在线OneNote)创建的。

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

工作流程:

  1. 获取页面内容(docsresponse
  2. 从内容中获取表格,找到所需的任务,将data-tag中的to-do替换为to-do:completed
  3. 获取具有已生成ID(docsresponse)的页面内容以查找目标表ID
  4. 发送PATCH请求以替换表(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请求有什么问题?

2 个答案:

答案 0 :(得分:3)

不要在style属性中指定边框。只需将边框指定为表格单元格属性即可。

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

答案 1 :(得分:1)


在底部的link中,HTML的Example块提供了有关OneNote-API如何处理表的信息。
具体来说,边框会根据“表格工具”->“布局”->“隐藏边框”切换下页面的当前设置而隐藏或显示。
关于待办事项框,这些必须包装在一个段落中,例如:

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