0

我目前正在开发一个 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) 之前工作

谢谢

4

0 回答 0