Outlook AddIn GetAsync 成功但 returns 没有

Outlook AddIn GetAsync successful but returns nothing

我有一个使用 Office Javascript API 开发的 Outlook 加载项。 它查看正在撰写的新电子邮件并根据收件人执行操作:https://docs.microsoft.com/en-us/office/dev/add-ins/reference/objectmodel/requirement-set-1.3/office.context.mailbox.item


var resultObjects;
var resultObjects2;
var strMessages = '';
var strTo = '';

var mailbox;
var mailitem;

(function () {
    "use strict";

    // The Office initialize function must be run each time a new page is loaded.
    Office.initialize = function (reason) {
        $(document).ready(function () {

            mailbox = Office.context.mailbox;
            mailitem = mailbox.item;

            mailitem.to.getAsync(function (result) {
                if (result.status === 'failed') {
                    strMessages = 'FAILED';
                } else {
                    strMessages = 'SUCCESS';
                    strTo = result.value[0];
                    resultObjects = result;
                    resultObjects2 = result.value;
                }
            });

            loadApp();
        });
    };
})();

以下是变量的值,当应用程序已加载且调试器未启动时 运行


编辑


如果您 'select' 将 TO 电子邮件以粗体显示...代码可以正常工作。如果您在没有选择建议的电子邮件的情况下离开了文本输入字段,它将不起作用。 Outlook Web 应用程序 (@ https://outlook.office.com) 和桌面 outlook 应用程序的行为相同。

不起作用

有效

Office.context.mailbox.item.to.getAsync API 只会 return 解析收件人。如果 TO 电子邮件地址未解析(如第一个标题为 "Does not Work" 的屏幕截图),则 API 将不会 return 电子邮件地址,直到它被解析(在桌面和 OWA 中)。

您可以在查询 to.getAsync 后使用 RecipientsChanged Event 获取新解析的收件人。新解析收件人时将触发此事件。