- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Note: This particular issue has significant impact on our customers, which translates to high business impact with direct consequences on revenue.
当用户在撰写电子邮件草稿时与我们的加载项交互时,我们的 Outlook Office 加载项如何才能最大限度地缩短 EWS GetItem API 返回我们从 Office.context.mailbox.item.saveAsync()
收到的 itemId
响应是否正常?
如果事实证明我们的加载项无法控制项目何时保留到 EWS,那么最终用户可以采取什么措施来加快速度?
我们正在寻找 (a) 技术解决方案,或 (b) 消息来指导我们的客户如何缓解/修复/解决此问题。
我们的一些客户无法使用 Outlook 的 Office 加载项发送电子邮件,或者必须等待很长时间(> 2 分钟)才能发送电子邮件。
我们希望所有客户都能够使用我们的加载项发送电子邮件,而不必等待不合理的时间。
根据我们的日志和客户报告,此问题仅存在于 Outlook 2016 for Windows 桌面应用程序中。我们没有证据表明任何其他版本的 Outlook(包括 Outlook 2013 或 Outlook for Mac)中都存在此问题,但这些客户端中也可能存在此问题。
我们的插件与撰写模式集成,可在撰写电子邮件时提供附加功能,例如模板、跟进、打开和点击跟踪以及日程安排。
我们的加载项与我们的 SaaS 产品协同工作,如下所示:
我们的加载项在电子邮件上设置 EWS 扩展属性,并使用元数据指示该邮件启用了哪些功能。
我们的带外 SaaS 产品配置为通过 EWS API 从客户的邮箱中读取。当它遇到我们的 Office 加载项编写的 EWS 扩展属性时,它会触发代码路径以满足所需的行为。
问题的根本原因是我们在 Outlook 2016 for Windows 中与 EWS 的交互。 为了成功与 EWS 交互以读取/写入邮箱项目,它必须知道该项目。
Office.context.mailbox.item.saveAsync()
的文档说:
In Outlook Web App or Outlook in online mode, the item is saved to the server. In Outlook in cached mode, the item is saved to the local cache.
进一步说:
Note: If your add-in calls
saveAsync
on an item in compose mode in order to get anitemId
to use with EWS or the REST API, be aware that when Outlook is in cached mode, it may take some time before the item is actually synced to the server. Until the item is synced, using theitemId
will return an error.
因此,我们得出的结论是 Office.context.mailbox.item.saveAsync()
,尽管它确实返回一个最终有效 itemId
,不保证任何后续 EWS 交互都会成功。到目前为止,我们还没有找到任何方法来加速 Outlook 客户端实际使 EWS 识别邮箱项目的过程。
我们尝试通过轮询来缓解此问题 EWS GetItem尝试获取具有从 Office.context.mailbox.item.saveAsync()
收到的 itemId
的项目的 ChangeKey
。虽然我们已经看到这最终会成功,但可能需要一分钟或更长时间才能发生。对于我们的客户来说,等待的时间实在是太长了。
如果 Outlook 2016 for Windows 桌面客户端处于“缓存模式”,用户可以执行以下操作:
最佳答案
在缓存模式下无法加快速度。不幸的是,这是撰写模式下 saveAsync 的限制。一些注意事项:
1) EWSId 仅当项目为草稿时才有效。发送后,当该项目在已发送项目中时,它将有一个新的 EWSId,该 EWSId 无法从 Office.js 获取
2) 您能否将您的信息保存到自定义属性中,而不是 EWS 扩展属性中。 (Office.context.mailbox.item.customProperties)https://dev.office.com/reference/add-ins/outlook/1.5/CustomProperties?product=outlook
这些属性将保存到已发送项目的邮件中,但不会被传输。那么你能找到这些属性
它们以 JSON 字典的形式存储在键/值对中的项目上。 mapi 属性的名称是“cecp-[ list 中的扩展 ID]”(在 PS_PUBLIC_STRINGS 中)
https://msdn.microsoft.com/en-us/library/office/cc842512.aspx
3) 听起来确实是解决这个问题的更好方法是使用 Office.js 函数来提供对此的写访问权限? (尽管我们不完全理解您的情况)。对新功能的请求应通过 UserVoice:
https://officespdev.uservoice.com/forums/224641-general/category/131778-outlook-add-ins 。
4)处于在线模式将大大减少时间。用户可以知道他或她是否处于在线模式,但外接程序不能。
此外,状态栏在缓存模式下会显示“已连接到 Microsoft Exchange”,在在线模式下会显示“与 Microsoft Exchange 联机”。
切换到在线模式会消除缓存模式所具有的许多优势。 Outlook 2016 中默认使用缓存模式。
关于outlook - 我们如何强制将邮箱项目持久保存到 EWS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46671562/
我是Hibernate的新手。当我保存特定实体时,它将从现有实体中重写数据。 我将ID用作自动生成,如下所示: @Id @GeneratedValue(strategy=GenerationType.
我正在尝试以连续模式使用CouchDB更改通知API,所以我想发送此消息 _changes?feed = continuous?include_docs = true作为GET请求到达我的CouchD
我有 XMPP 服务器(openfire)和一堆客户端(spark),分为几个组(部门)。我正在寻找能够将它们留在 session 室中的能力。我的意思是 Skype 具有的类似功能;当用户关闭带有群
我发布这个问题是为了看看我是否正确理解 Azure Functions 中的并行性,特别是 Durable Functions。 最近使用 az cli 在 Azure Functions 中添加了设
我在 Dev Env 上有一个 AKS 集群,上面运行着一些容器。我还启用了 Azure Log Analytics。但我可以看到正在运行的当前容器的日志,而不是已被终止或停止的旧容器的日志。 我想知
在 Akka 中,当一个 actor 在处理消息时死亡(在 onReceive(...) { ... } 内),该消息就会丢失。有没有办法保证无损?有一种配置 Akka 在将消息发送到 onRecei
我试图让 selectOneMany 取得有限的成功。 我有以下数据库模型 User email Text verkey Text Maybe verified Bool password T
我需要使用持久性(Yesod)从键列表中获取实体列表 假设我有一个 Model 及其相应的 ModelId。我身边有: keys :: [ModelId] 我需要得到 models :: [Model
我有一个使用 GWT、请求工厂和地点/Activity 构建的网络应用程序。我很好奇我使用的历史 token 是否持久。该任务基本上就是让 URL 定义我的网络应用程序的确切位置(读作“文件/文件夹结
我正在寻找一种 jQuery 方法来在刷新页面时使页面元素持久保留在用户屏幕上。当我刷新页面并且丢失 jQuery 页面中的内容时,它会发生变化。 我需要页面持久。如何刷新页面并保持元素不刷新(持久)
当我尝试使用 gcc 编译带有 -fopenmp 标志的 C 代码时,我已经持续收到此错误超过 6 小时了。 错误:控制谓词无效 for ( int i = 0; i #include #ifde
我有带有验证注释的实体,例如@NotNull。我不知道如何防止容器管理的事务在批量持久操作中出现 ConstraintViolationException 的情况下回滚,例如: public void
这是我的代码: http://jsfiddle.net/KCb5z/8/embedded/result/ http://jsfiddle.net/KCb5z/8/ $(function () {
我正在与服务器通信,理想情况下,我希望输入流和输出流始终处于运行状态。我收到未经请求的响应,因此我必须始终准备好接收输入流上的数据。 在我进一步深入之前,我应该说我建立的任何连接都必须能够支持 SSL
我正在寻找一种正确扩展 Azure Functions 的方法,但遇到了问题。 我有一组 IoT 设备,通过 HTTP 向 Azure 发送数据(为此,有一组自动扩展的 Azure Functions
1.临时态(瞬时态) 不存在于session中,也不存在于数据库中的数据,被称为临时态。 比如:刚刚使用new关键字创建出的对象。 2.持久态 存在于session中,事务还未提交,提交之后
我在 Kohana v2 中使用数据库 session 驱动程序。为了使 session 持久化,Kohana 创建了一个 token cookie。这个 cookie 使用了我想的 cookie 配
有谁知道是否有办法使用 PyWinrm 打开一个持久的 PowerShell session ,该 session 保持状态并且可以多次调用?我正在尝试执行以下操作: #!/bin/python im
在运行的Elasticsearch集群中,配置文件中的index.number_of_replicas设置为1。 我可以通过运行以下命令在运行的集群上将其更新为2 # curl -XPUT "http
我在“这么长的帖子必须意味着大量的代码和配置”部分下一对一地使用指南代码。 http://blog.springsource.com/2006/08/07/using-jpa-in-spring-wi
我是一名优秀的程序员,十分优秀!