是否可以通过microsoft graph onenote api为p标签添加内联样式?

时间:2018-05-12 15:11:04

标签: html microsoft-graph onenote-api

我尝试使用以下html内容创建一个onenote页面(为简洁起见,删除了html,正文和其他标记):

<p style="background-color: red;">Hello</p>

但是onenote api创建的输出html变为:

<p id="p:{a6a9df32-7774-400d-90db-facbc7c9f90a}{82}" style="margin-top:5.5pt;margin-bottom:5.5pt">
    <span style="background-color:red">Hello</span>
</p>

它创建了一个用于保存内容的范围,并且内联样式被添加到此范围而不是p标记。如何将内联样式添加到p标记?

1 个答案:

答案 0 :(得分:2)

您的第一个片段在OneNote用语中称为“输入HTML”,第二个片段称为“输出HTML”。您应该假设“输入”和“输出”HTML将是不同的。这是因为OneNote实际上并不将内容编码和存储为标准HTML。来自documentation

  

在创建或更新OneNote页面时定义页面内容和结构的HTML称为输入HTML。

     

获取页面内容时返回的HTML称为输出HTML。输出HTML与输入HTML不同。

     

Microsoft Graph中的OneNote API保留了输入HTML的语义内容和基本结构,但将其转换为一组受支持的HTML元素和CSS属性。 API还添加了支持OneNote功能的自定义属性。

将此问题视为语言翻译。您可以轻松地将英语翻译成法语,将法语翻译成英语。但是,如果您进行完整的往返(英语 - >法语 - >英语),您最终会得到与您开始时完全相同的英语。这是因为翻译与编码完全不同,翻译总是有损转换。

以此为例:

  1. 英语:“翻译通常是一种有损转换。”
  2. 法语:“La traductionestgénéralementuneconversion avec perte。”
  3. 英语:“翻译通常是损失转换。”
  4. 您会注意到#1和#3具有相同的含义,但不是相同的语法。这基本上是OneNote发生的事情。