Office js ';getAsync';返回';Office.context.mailbox.item.body.getAsync不是函数';

Office js ';getAsync';返回';Office.context.mailbox.item.body.getAsync不是函数';,office-js,outlook-web-addins,Office Js,Outlook Web Addins,我目前正在使用Javascript API研究Outlook加载项的Microsoft文档,并从中下载了Microsoft提供的一个示例,特别是“Outlook加载项命令演示” 然后,我在event.completed()之前修改了FunctionFile\Function.js()行61并添加了以下内容: Office.context.mailbox.item.body.replaceAsync( 'Hello world!', { coercionType: Office.

我目前正在使用Javascript API研究Outlook加载项的Microsoft文档,并从中下载了Microsoft提供的一个示例,特别是“Outlook加载项命令演示”

然后,我在
event.completed()之前修改了
FunctionFile\Function.js
()行61
并添加了以下内容:

Office.context.mailbox.item.body.replaceAsync(
    'Hello world!', 
    { coercionType: Office.CoercionType.Text }, 
    function callback(result) {

    });
这段代码来自API文档本身

测试外接程序功能时,开发人员控制台上出现以下错误:

未捕获的TypeError:Office.context.mailbox.item.body.ReplaceAscync为 不是功能 在Object.getSubject[作为回调](Functions.js:62) 在outlook-web-16.01.js:16


同一文件的第53行包含对Office API的类似调用,此调用工作正常(
var subject=Office.context.mailbox.item.subject;
)。但是
replaceAsync
getAsync
setAsync
和其他方法都会产生相同的错误


有什么线索吗?

Office.context.mailbox.item.subject是一个读取API。如果可以的话,您可能正在尝试在读取模式下使用compose模式API。body.replaceAncy()和body.setAsync()在邮件读取中不起作用。您能否确认您正在以编写模式尝试这些API?您还可以提供body.getAsync(…)使用的代码吗?这应该行得通。

Office.context.mailbox.item.subject是一个读取API。如果可以的话,您可能正在尝试在读取模式下使用compose模式API。body.replaceAncy()和body.setAsync()在邮件读取中不起作用。您能否确认您正在以编写模式尝试这些API?您还可以提供body.getAsync(…)使用的代码吗?这应该行。

您是否查看了Outlook client/Exchange server是否支持这些方法?例如,如果使用Exchange server 2013,则只能使用1.1.Office.context.mailbox.item.subject中的API方法。subject是只读API。如果可以的话,您可能正在尝试在读取模式下使用compose模式API。body.replaceAncy()和body.setAsync()在邮件读取中不起作用。您能否确认您正在以编写模式尝试这些API?您还可以提供body.getAsync(…)使用的代码吗?这应该行得通。@OutlookAdd insTeam MSFT我正在邮件读取中尝试这些方法。我想构建一个外接程序来解析消息体。不需要外接程序在撰写模式下执行任何操作。body.replaceAncy()和body.setAsync()在邮件读取时不可用,即,无法在读取模式下修改电子邮件正文。但是,body.getAsync()应该可以工作。你能确认一下吗?代码片段也会很有帮助。@OutlookAdd insTeam MSFT是的,完全是这样
getAsync()
工作正常。另外,我应该更加关注文档,因为这些方法明确指定了读取或编写模式。谢谢你的帮助。就最后一个。。。我想做的是解析一个完全编码的电子邮件正文。现在我知道我不能将正文转换为可读的表,我可以选择将解析的数据支撑在侧窗格上,问题是,侧窗格非常窄,是否有显示弹出窗口的方法如果Outlook client/Exchange server支持这些方法,您是否查看了?例如,如果使用Exchange server 2013,则只能使用1.1.Office.context.mailbox.item.subject中的API方法。subject是只读API。如果可以的话,您可能正在尝试在读取模式下使用compose模式API。body.replaceAncy()和body.setAsync()在邮件读取中不起作用。您能否确认您正在以编写模式尝试这些API?您还可以提供body.getAsync(…)使用的代码吗?这应该行得通。@OutlookAdd insTeam MSFT我正在邮件读取中尝试这些方法。我想构建一个外接程序来解析消息体。不需要外接程序在撰写模式下执行任何操作。body.replaceAncy()和body.setAsync()在邮件读取时不可用,即,无法在读取模式下修改电子邮件正文。但是,body.getAsync()应该可以工作。你能确认一下吗?代码片段也会很有帮助。@OutlookAdd insTeam MSFT是的,完全是这样
getAsync()
工作正常。另外,我应该更加关注文档,因为这些方法明确指定了读取或编写模式。谢谢你的帮助。就最后一个。。。我想做的是解析一个完全编码的电子邮件正文。我现在知道我不能把主体变成一个可读的表格,我可以选择将解析后的数据放在一个侧面板上,问题是,侧面板很窄,有没有办法显示弹出窗口