我目前正在开发一个 Outlook Web 加载项项目,有一个 makeEwsRequestAsync 用于获取项目数据和发送电子邮件,但它在 MAC 上的 Outlook 客户端上不再工作。
我在 2019 年 1 月测试了这个 API,这个 API 在 Mac 和其他平台上的 Outlook 上运行良好。但从本周开始我再次测试它,但似乎它不再执行,仅在 Mac 上的 Outlook 客户端上,回调方法(callbackReadItem)不再被调用,在其他平台上,api 工作正常,因为它是桌面应用程序我无法调试脚本,所以我只是通过html编写了一些调试日志,似乎makeEwsrequestAsync方法不再执行。
我的代码在这里
mailbox.makeEwsRequestAsync(getItemDataRequest(itemId), function (asyncResult) { callbackReadItem(asyncResult, callback) });
function callbackReadItem(asyncResult, callback) {
$(".browerInfo").html("callbackReadItem");
setTimeout(function () { alert("Hello"); }, 10000);
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(asyncResult.value, "text/xml");
//var xmlDoc = getXMLDocParser(asyncResult.value);
var aaa = xmlDoc.getElementsByTagName('t:ItemId');
changeKey = $(aaa).attr('ChangeKey');
setTimeout(function () { alert("Hello"); }, 10000);
callback(itemId, $(aaa).attr('ChangeKey'));
}
function getItemDataRequest(itemId) {
var soapToGetItemData = '<?xml version="1.0" encoding="utf-8"?>' +
'<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
' xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"' +
' xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
' xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
' xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
' <soap:Header>' +
' <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' +
' </soap:Header>' +
' <soap:Body>' +
' <GetItem' +
' xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"' +
' xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
' <ItemShape>' +
' <t:BaseShape>IdOnly</t:BaseShape>' +
' <t:AdditionalProperties>' +
' <t:FieldURI FieldURI="item:Attachments" /> ' +
' </t:AdditionalProperties> ' +
' </ItemShape>' +
' <ItemIds>' +
' <t:ItemId Id="' + itemId + '"/>' +
' </ItemIds>' +
' </GetItem>' +
' </soap:Body>' +
'</soap:Envelope>';
return soapToGetItemData;
}
有人知道我错过了什么吗?或者对于 Outlook Web 加载项的 Mac 上的 Outlook 是否存在错误。或者,如果有其他方法可以做到这一点。
MAC 上的 Outlook 版本 16.23.1(190326) 该版本在 16.21(190115) 之前工作
谢谢