【问题标题】:Office.context.mailbox.item.to.getAsync updates TO field with partial dataOffice.context.mailbox.item.to.getAsync 使用部分数据更新 TO 字段
【发布时间】:2018-03-28 14:38:01
【问题描述】:

我开始在 Outlook TO 字段中输入内容,同时从已安装的插件中​​每隔 1 秒查询一次 TO 字段。

虽然我仍在输入,但我希望收到一个空数组,但 Outlook(office-js SDK):

  1. 返回带有空 emailAddress 和输入 displayName 的数据
  2. 使用部分键入的 displayName 和从键入的数据生成的错误 emailAddress 创建新地址。

我可以处理第一个问题,但如何防止第二个问题?
执行代码:

Office.cast.item.toItemCompose(Office.context.mailbox.item).to.getAsync(res => {
        if(res.status === Office.AsyncResultStatus.Succeeded) {
                console.log(res.value[0].emailAddress+res.value[0].displayName);
       }
});

环境:

  • 平台:PC桌面
  • 主持人:Outlook
  • Office版本号:16
  • 操作系统:Windows 10

Github 中的问题: https://github.com/OfficeDev/office-js/issues/79

【问题讨论】:

    标签: javascript office-js outlook-web-addins


    【解决方案1】:

    @trustifi-trustifi 感谢您报告此问题。

    没有。 1 是已在内部版本 16.0.8309.1000 中修复的已知问题。如果您仍然看到该问题,则您可能使用的是旧版本的 Outlook,因此您需要升级。

    没有。 2,我查看了您的GitHub post,您将“test@google.c”作为部分输入的显示名称/不正确的电子邮件地址的示例。从技术上讲,“test@google.c”是一个有效的电子邮件地址,因此一旦被 Outlook 解析,它就可以作为收件人返回。

    如果我误解了你的号码。 2个问题,你有我的歉意。请进一步澄清,以便我提供更好的答案。

    总的来说,您需要一个可以订阅的事件,而不是每 1 秒轮询一次,以便在收件人发生变化时通知您的加载项。我们目前正在努力向我们的平台添加更多活动,以便为开发人员解决这个问题。请在我们的UserVoice 页面上向我们发送功能请求。

    【讨论】:

    • 对于#2 - 问题是输入的电子邮件地址在输入过程中被验证。当然,为 Outlook 添加对 Binding.BindingDataChanged 事件的支持会很棒。
    • 我使用的是版本 16.0.9119.3000
    猜你喜欢
    • 1970-01-01
    • 2019-06-03
    • 2019-01-25
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    相关资源
    最近更新 更多