我目前正在使用带有Office.js的Outlook Web加载项。在此项目中,我们需要发送邮件合并电子邮件以处理通讯组列表和组。我们使用ExpandDL调用,而我们的肥皂请求如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header>
<RequestServerVersion xmlns="http://schemas.microsoft.com/exchange/services/2006/types" Version="Exchange2013" soap:mustUnderstand="0" />
</soap:Header>
<soap:Body>
<m:ExpandDL>
<m:Mailbox>
<t:EmailAddress>exampledl@example.com</t:EmailAddress>
</m:Mailbox>
</m:ExpandDL>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
我们的Outlook Web加载项在Mac 16.23(190309)上的Outlook最新版本之前一直有效。我使用较旧的版本16.16进行了相同的测试,并且工作正常。它会返回与ExpandDL调用相应的结果。
我将代码跟踪到文件outlook-mac-16.00.js
(包含在我们的Web加载项中的office.js库中),并遇到以下错误:
操作失败。
奇怪的是,它只是在制定错误响应的中间,但是当我们在错误和成功回调中添加断点时,它永远不会命中。异步Soap调用永远不会返回执行任何回调。我们必须进入图书馆才能找到以上信息。
更新:[4/15/2019]
我将稳定版本更新为16.23.1(190326),并且expandDL调用没有得到另一个错误:
消息:“内部协议错误:'-2147467259'。” 名称:“ AccessRestricted”
以上是我在当前稳定版本上进行调试时从createAsyncResult
第10914行摘录的outlook-mac-16.00.js
。
更新:[4/18/2019]
我更新到了最新的稳定版本16.24(19041401),现在返回状态为,"succeeded"
但异步结果的值为null
。可以肯定的是,我尝试Office.context.mailbox.makeEwsRequestAsync
手动调用该电话进行仔细检查,结果是相同的(null
值和"succeeded"
状态)。
如果需要,我可以提供有关此问题的任何详细信息。
exchangewebservices office-js outlook-web-addins outlook-for-mac
我正在开发 Microsoft Outlook 的加载项,我们的一些 Outlook for Mac 用户最近报告说,如果打开了“新 Outlook”开关,他们将无法查看功能区中的任何加载项。如果单击功能区中的“...”选项,则可以在下拉菜单中访问“获取加载项”选项,但此“获取加载项”选项被禁用。主收件箱窗口和单独的阅读/撰写窗口都会受到影响。
我能够在 Outlook for Mac 版本 16.45 (21011103) 中复制该问题。
这是预期的行为吗?如果没有,是否有办法让加载项再次显示在功能区中?
谢谢。
我正在尝试调试Mac版Outlook加载项的无UI按钮。
在我的代码中,中的无UI功能function-file.js
。包含在中function-file.html
,它被设置为FunctionFile
xml清单中的url。我也有在XML清单中使用<Action xsi:type="ExecuteFunction">
标签引用名称的无UI功能。最后,我已经按照以下说明设置了vorlon进行调试。
当我单击无UI按钮时,新客户端将出现在Vorlon上。但是,我无法像通常的调试器那样获得信息。
console.log()
语句)。相反,调试打开屏幕的按钮可以正常工作;域资源管理器,对象资源管理器,Office加载项和控制台都可以使用。
这使我认为,当我在Vorlon上看到客户端时,Javascript代码(用于无UI的按钮)已完成执行,并且不再可用于调试。如果正确,是否可以调试Office加载项的无UI按钮?如果是这样,怎么办?
我正在为Outlook实现一个加载项,加载项获取一个附件并将其发送到我的服务器进行处理.它在https://outlook.office.com上运行完美,但无法运行Outlook 2016 for Mac.
这是我试图访问的API:
var getMessageUrl =Office.context.mailbox.restUrl + '/v2.0/me/messages/' +
{messageID} + "/attachments/" + {attachmentID};
var attachmentID = Office.context.mailbox.item.attachments[0].id;
var messageID = getItemRestId();
$.ajax({
url: getMessageUrl,
dataType: 'json',
headers: {
'Authorization': 'Bearer ' + outlookToken
}
}).done(function 1(response) {
//upload the blob to my server
}).fail(function (error) {
//call authorise to get a new token
});
function getItemRestId() {
if (Office.context.mailbox.diagnostics.hostName === 'OutlookIOS') {
// itemId is already REST-formatted
return Office.context.mailbox.item.itemId;
} else {
// Convert to …
Run Code Online (Sandbox Code Playgroud) javascript office-addins office-js outlook-web-addins outlook-for-mac