使用body.getAsync

时间:2016-05-17 18:14:20

标签: outlook outlook-addin office-js outlook-web-addins

我已经开发了一个简单的任务窗格加载项来测试西里尔字符,但是当使用body.getAsync()时,西里尔字符似乎编码不正确。

是否有从电子邮件正文中获取Cyrillic html的解决方法?这是我正在使用的代码:

var message = Office.context.mailbox.item;
message.body.getAsync(Office.CoercionType.Html, function (result) {
    if (result.status === Office.AsyncResultStatus.Succeeded) {
        $("#gridResult").html(result.value);
    }
});

这是我得到的结果。所有的西里尔字符都搞砸了。 Cyrillic character issue in add-in

修改

我通过Visual Studio调试器运行代码,并在调用result.value之前在.html()上设置断点。损坏的值是可见的。使用F12开发人员工具附加到IE Process时会发生同样的事情: Problem on result.value

2 个答案:

答案 0 :(得分:2)

这被发现是一个错误。它将在即将发布的C2R版本更新中修复。暂时,如果构建是在16.0.7117.1000之后,则应该修复它。此内部版本号不是将要出现的确切数字,但是当更新发布时,如果该数字是在该构建之后,则修复应该在。

我无法确认此修复程序会在实际修补程序发布之前完成。

MSI Outlook 2016和MSI Outlook 2013的修复程序将在之后发布。一旦计划发布这些更新,我将使用KB&和补丁更新。

答案 1 :(得分:1)

感谢您报告此问题。这是Outlook桌面的回归,修复将在大约两个月内到达客户端。 与此同时,解决方法是使用Office.CoercionType.Text

调用API
var message = Office.context.mailbox.item;
message.body.getAsync(Office.CoercionType.Text, function (result) {
    if (result.status === Office.AsyncResultStatus.Succeeded) {
        $("#gridResult").html(result.value);
    }
});

或者在OWA(Outlook on Web)中使用你的插件。