Outlook加载项正文setasync UI更新但结果为空

时间:2017-02-14 22:42:18

标签: outlook-addin office-js

我创建了一个测试office.js Outlook加载项,它将格式化的HTML注入到具有setasync和强制类型HTML的Office.context.mailitem.body中。一切正常但突然在1月中旬出现了编辑日历邀请的问题。 UI会更新,但是当发送邀请时,文本会被删除。从日历中打开日历邀请时,文本为空白。一些观察:

  1. 编辑电子邮件正文仍然有效。只有日历邀请才会出现此问题。
  2. 如果在加载项插入HTML后手动添加文本,则邀请有效。如果您首先添加文本然后加载项添加其HTML但您不执行任何其他操作,则邀请文本只是原始文本 - 没有HTML。它就像setasync更新UI一样,但某些内部脏标志没有设置,文本也被删除。
  3. 这仅发生在Outlook 2013中.Outlook 2016上的同一电子邮件帐户可以使用。
  4. 这发生在我的工作电子邮件中,我认为它有一个Office Online后端,但不在我的天蓝色测试租户上。
  5. 只有将强制类型设置为文本的文本邀请才会出现此问题。
  6. 插入的HTML有多简单并不重要。在此问题中只插入以下简单的HTML结果:

    <b>this is bold text</b>
    
  7. 任何想法可能会发生什么?

    提前致谢。

1 个答案:

答案 0 :(得分:1)

所以这确实是一个需要修复的错误。与此同时,我正在玩这个,作为一种解决方法,我发现如果你在做了一个SetBody后弄脏了身体,那么这个消息就会正确发送。

您可以通过输入空格或在实际通话中手动执行此操作,例如:

Office.context.mailbox.item.body.setAsync
(
    "<B>tim test</b>",
    {
        "coercionType" : "html"
    },
    function (asyncResult)
    {
        Office.context.mailbox.item.body.prependAsync(".");
    }
);

(你可能希望插入一些不太干扰的东西,比如空格)