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
当您 'select' 来自建议的电子邮件列表的电子邮件时,代码正确 returns TO 电子邮件...屏幕截图显示在该线程的底部
为了调试 Javascript,我使用 C:\Windows\SysWOW64\F12\IEChooser.exe
直到上周它都运行良好。 Windows 更新是否可能破坏了功能?
- 我是唯一有权访问代码的人。几个月没修改了。
- 当调试器为 运行 时,getAsync 正确 returns 'TO' 值。我需要编写对全局变量的响应以证明值是 'undefined' 而不是在调试中。
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 获取新解析的收件人。新解析收件人时将触发此事件。
我有一个使用 Office Javascript API 开发的 Outlook 加载项。 它查看正在撰写的新电子邮件并根据收件人执行操作:https://docs.microsoft.com/en-us/office/dev/add-ins/reference/objectmodel/requirement-set-1.3/office.context.mailbox.item
当您 'select' 来自建议的电子邮件列表的电子邮件时,代码正确 returns TO 电子邮件...屏幕截图显示在该线程的底部
为了调试 Javascript,我使用 C:\Windows\SysWOW64\F12\IEChooser.exe
直到上周它都运行良好。 Windows 更新是否可能破坏了功能?
- 我是唯一有权访问代码的人。几个月没修改了。
- 当调试器为 运行 时,getAsync 正确 returns 'TO' 值。我需要编写对全局变量的响应以证明值是 'undefined' 而不是在调试中。
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 获取新解析的收件人。新解析收件人时将触发此事件。