OneNote API(REST) - <div>标签在PATCH期间被剥离

时间:2015-06-30 05:58:26

标签: html api get patch onenote

注意:使用Onenote API (REST) - PATCH append - "must include a 'commands'" error when Commands is already supplied (?!)

中定义的相同PATCH请求

每个PATCH请求都是一个追加操作,并使用提供给| HTML |的以下布局在我的代码中:

<div>
  <h1>Hardcoded_Name_ForNow</h1>
  <h3>4.345054</h3>
  <p>sdfsdfsdf</p>
  <img src="name:image-part-name" alt="New binary image" />
</div>

然而,当我获取页面的内容(参考:https://jsapi.apiary.io/apis/onenote/reference/get-pages/v10pagesid/get.html?console=1)时,结果如下:

(HEADER OMITTED)
<body data-absolute-enabled="true" style="font-family:Calibri;font-size:11pt">
  <div style="width:624px">
    <h1 style="font-size:16pt;color:#1e4e79;margin-top:11pt;margin-bottom:11pt">Hardcoded_Name_ForNow</h1>
    <h3 style="font-size:12pt;color:#5b9bd5;margin-top:11pt;margin-bottom:11pt">47.77527</h3>
    <p>TEST</p>
    <img alt="New binary image" width="624" height="353" src="https://www.onenote.com/api/v1.0/resources/0-60a8d03c70a04372ad60cabb8191f86d!1-6C3CB48828A4FCE7!185/$value" data-src-type="image/png" data-fullres-src="https://www.onenote.com/api/v1.0/resources/0-60a8d03c70a04372ad60cabb8191f86d!1-6C3CB48828A4FCE7!185/$value" data-fullres-src-type="image/png" />
    <h1 style="font-size:16pt;color:#1e4e79;margin-top:11pt;margin-bottom:11pt">Hardcoded_Name_ForNow</h1>
    <h3 style="font-size:12pt;color:#5b9bd5;margin-top:11pt;margin-bottom:11pt">41.16911</h3>
    <p>ewqeqweqweqew</p>
    <img alt="New binary image" width="624" height="353" src="https://www.onenote.com/api/v1.0/resources/0-9d9ab7935d16464eb826e70dd7fdb3ef!1-6C3CB48828A4FCE7!185/$value" data-src-type="image/png" data-fullres-src="https://www.onenote.com/api/v1.0/resources/0-9d9ab7935d16464eb826e70dd7fdb3ef!1-6C3CB48828A4FCE7!185/$value" data-fullres-src-type="image/png" />

    ...

  </div>
</body>

我知道如果我没有提供特定的目标ID,PATCH请求将以最顶层为目标。但是,我期望PATCH请求在不剥离封装器的情况下抛出布局批发。

目前通过假设h1,h3,p,img将始终按顺序处理它,但如果标记顺序更改或添加新标记,则难以维护。

启用div id属性并没有帮助,首先根本就没有。

1 个答案:

答案 0 :(得分:0)

我们没有办法在OneNote中存储任意容器,因此我们会尽力按需重新合成它们。除非他们有一些有意义的区分数据,否则个别的数据可能会消失,正如您所看到的那样。我们的目标是将表现内容放入表面内外,而不是成为高保真的HTML商店。

所以说,如果你添加一个data-id =&#34; UniqueFoo&#34;归因于你,我们将它视为语义上有意义的,所以我们做了额外的工作来重现那些语义。 HTML可能不是完全相同,但我们应该产生语义等价物,只要包含去,这可能在这个简单的情况下意味着你​​保留了你期望的。

如果您的应用中没有这些div所代表的任何唯一值,您可以使用guid或data-id属性等一些简单的唯一值。