发布 Outlook 日历。同步频率的服务器端设置是啥?

Posted

技术标签:

【中文标题】发布 Outlook 日历。同步频率的服务器端设置是啥?【英文标题】:Publishing Outlook Calendars. What is the server-side setting for sync frequency?发布 Outlook 日历。同步频率的服务器端设置是什么? 【发布时间】:2016-03-21 06:44:23 【问题描述】:

我正在开发一个接受 Outlook 已发布日历的服务器(非常基本的 WebDAV)的自定义实现。

Outlook 似乎有一个设置(见下面的屏幕截图),它从服务器接受一个参数,告诉它多久重新发布一次日历,这就是我想要弄清楚的参数。

如果未指定设置,Outlook 默认为 60 分钟,这对我不起作用,但我找不到有关参数可能是什么的任何信息(我知道 Outlook 的设置可以在 UI 中调整,但我需要它通过服务器的响应自动完成)。使用 Wireshark 时,我看到第一次发布日历时,Outlook 会向服务器的 URL 发送一个 PROPFIND 方法:

PROPFIND /path/to/url HTTP/1.1
X-Office-Version: 15.0.4771
Depth: 1
Content-Type: text/xml
User-Agent: Microsoft Office/15.0 (Windows NT 6.3; Microsoft Outlook 15.0.4771; Pro)
Host: example.com
Content-Length: 114
Connection: Keep-Alive
Cache-Control: no-cache

<?xml version="1.0" encoding="utf-8" ?> <D:propfind xmlns:D="DAV:"><D:prop><D:resourcetype/></D:prop></D:propfind>

然后以 XML 响应(我假设这是设置所在的位置,但找不到任何信息):

<?xml version="1.0"?><a:multistatus xmlns:a="DAV:"/>

此时我迷路了,不知道还有什么地方可以处理大量谷歌搜索和流量嗅探(Outlook Exchange 通信,但我发现没有一个似乎使用非默认参数)。有什么建议在哪里寻找这样的东西是个好主意?

【问题讨论】:

这是经过一番谷歌搜索后的猜测......也许该复选框所指的“服务器”不是您要发布到的 WebDAV 服务器,而是您的 Outlook 帐户的 Exchange 服务器与某些特定于 Exchange 的属性(例如 DevicePolicyRefreshInterval)相关联,并且从其中提取。我可能遗漏了一些东西,但我没有在 WebDAV 规范或其他 WebDAV 服务器的文档中看到任何提及推荐同步频率之类的内容。 我建议您尝试在真正的 webdav 服务器上运行它,看看在客户端和服务器之间来回发送和转发的内容。 【参考方案1】:

没有针对轮询频率的 Outlook Server 设置。此设置位于客户端。在电子邮件客户端上,“检查新消息”用于避免服务器因请求而过载。见the MS Outlook website。

【讨论】:

是的,原帖中提到有一个客户端设置。如果没有服务器设置,则在屏幕截图中显示的“使用 服务器的 推荐频率更新此日历”复选框中 - 在这种情况下 服务器 指的是什么? 我认为“服务器的推荐频率”对于“轮询服务器的推荐频率”的英文很差。任何电子邮件服务器都没有理由有频率选项,除了超时和发送失败时尝试发送的频率,这些通常有合理的默认值。【参考方案2】:

CalDAVWebDAV 的日历扩展,记录在 RFC-4791)使用 iCalendarInternet 日历和调度核心对象规范,记录在RFC-5545 中,不要与用于数据交换的 Apple 的 iCal 格式混淆。 iCalendar 可容纳以“X-”前缀开头的非标准属性。

X-PUBLISHED-TTL 是映射到推荐的日历订阅更新间隔的属性。 Microsoft 支持 Outlook 和 Sharepoint,可能还有更多日历发布商支持,但 Google 或 Apple 不支持。

示例值:

X-PUBLISHED-TTL:PT1H        (every hour)
X-PUBLISHED-TTL:PT120M      (every 120 minutes)

还有一些工作正在进行中,以正式向 iCalendar 规范添加类似的属性。根据New Properties for iCalendar 提案草案的最新版本,新的 REFRESH-INTERVAL 属性将按以下方式使用:

REFRESH-INTERVAL;VALUE=DURATION:P1W

【讨论】:

对这些未指定时的默认值有什么想法吗? 我不知道为什么这会遭到反对。据我所知,这是目前最准确的信息,并且绝对是 Outlook 获得其价值的方式。如果有人有其他信息,如果它是这里的帖子而不是仅仅对一个好的答案投反对票,我会很高兴。

以上是关于发布 Outlook 日历。同步频率的服务器端设置是啥?的主要内容,如果未能解决你的问题,请参考以下文章

非exchange下,outlook日历实时同步神器

通过同步帐户使用不同计算机时 Outlook 中的唯一约会标识符

实用技能Microsoft Office软件

需要建立日历(iCal、outlook)链接的服务

尝试从 Office 365 获取日历时访问令牌验证失败

outlook无法检索到日历忙闲信息