Office.context.mailbox.item.addFileAttachmentAsyn c часто занимает много времени для прикрепления и возникает внутренняя ошибка формата - PullRequest
0 голосов
/ 06 февраля 2020

Ошибка при попытке прикрепить файл путем вызова Office.context.mailbox.item.addFileAttachmentAsyn c из надстройки Office 365 для Outlook (в Интернете).

Это часто происходит правильно после загрузки сайта Outlook. Это может не произойти через некоторое время после загрузки. Это происходит в IE, Chrome (в Windows10, в Ма c) и Сафари (в Ма c). С версией для ПК нет проблем.

Этого раньше не было, но недавно это произошло. За последние несколько месяцев в надстройке Outlook не было никаких изменений.

Я создал и протестировал следующую простую программу. Такая же ошибка возникает в этой программе.

Office.initialize = function (reason) {
    $(document).ready(function () {
        $("#send-btn").click(function () {
            try {
                var url = "https://www.cloudstoragelight.com/proaxiastorage/f/Demo/TestData.xlsx";
                var attachemrtFilename = "TestData.xlsx";
                debugger;
                Office.context.mailbox.item.addFileAttachmentAsync(
                    url,
                    attachemrtFilename,
                    { asyncContext: null },
                    function (asyncResult) {
                        if (asyncResult.status == Office.AsyncResultStatus.Failed) {
                            if (asyncResult.error && asyncResult.error.message) {
                                console.log("Error(" + asyncResult.error.message + ")");
                            } else {
                                console.log("Error");
                            }
                        }
                        else {
                            console.log("SUCCESS");
                        }
                    });
            } catch (e) {
                if (e.message) {
                    console.log("Error(" + e.message + ")");
                } else {
                    console.log("Error");
                }
            }
        });
    });
};

Есть ли обходной путь?

[дополнительная информация] Я попытался отладить с помощью outlook-web-16.01.debug. js.

Для просмотра содержимого стека при возникновении ошибки существует функция _checkMethodTimeout. Решение об истечении времени ожидания этой функции стало истинным, и был вызван обратный вызов.

В этом случае функция Microsoft.Office.Common.ClientEndPoint.invoke отправляет следующее сообщение в postMessage.

{ «_messageType»: 0, «_actionName»: «ExecuteMethod», «_conversationId»: «7cc28a93_6a3c12a5_1581127643048», «_correlationId»: 5, «_origin»: «https: // localhost: 44313 / MessageRead. *» , "_data": {"ApiParams": {"uri": "https://www.cloudstoragelight.com/proaxiastorage/f/Demo/TestData.xlsx", "name": "TestData.xlsx", "isInline": false, "__ timeout __": 600000 }, "MethodData": {"ControlId": "963d4dfe-eaad-8e5b-6fa5-3eaac31b660d", "DispatchId": 16}}, "_ actionType": 0, "_ serializerVersion": 1}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...