问题标签 [caldav]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
caldav - CALDAV 同步算法
我正在尝试使用 caldav 和同步报告来实现同步,但是我遇到了关于如何在多个客户端和服务器之间同步一个日历(一个 VEVENT)的概念问题。
大多数 rfc 是指使用 etag 来确定资源自上次同步以来是否已更改。(如果 etag 更改,则资源自上次同步后已更改)。我明白了。但是我怎么知道哪个变化是最近的?
例如,客户端 A 有一个在凌晨 1 点最后编辑的 ical“X”,它们在上午 8 点同步。客户端 B 也有一个 ical X 版本,他们在凌晨 2 点编辑并在早上 7 点同步。所以 B 比 A 更新,B 在 A 之前同步。
当 A 同步时,它将看到 B 的新版本 X。从 etag 中它知道 X 已更改,但不是“何时”更改。我假设 A 应该用 B 覆盖,因为 B 较新(或者至少能够提示用户说 B 较新)....这个假设是否正确/是否有处理这种情况的标准方法?
通常的问题是当试图找出服务器和客户端之间的文件更新时。etag 只能检测“更改”但不能检测“更新”。最后修改日期似乎反映了 icals 上传日期,而不是它在客户端上的最后编辑日期。这让我相信我错过了一些东西。是否有一些普遍接受的同步算法?
.net - 列出 CalDAV 上可供用户使用的日历 (Bedework)
我使用 IP Works .Net CalDAV 组件在 Bedework 快速入门日历服务器上运行,该服务器设置在 localhost:8080 上。为了访问日历,我需要知道它们的资源 URI。
当使用 Baikal (SabreDAV) 作为服务器时,我只是使用 WebDAV ListDirectory 查看子目录,这将是各种日历 URI。
但是,我无法在 Bedework 上完成这项工作,它只返回基本 URL。
' http://localhost:8080/ucaldav/principals/users/vbede/ '
在 CalDAV 上为用户获取日历的适当方法是什么?更具体地说,关于 Bedework?
c++ - 是否有 C++ CalDav 协议库可以连接到 iCloud//Yahoo
我已经开始研究需要通过连接到 CalDav 服务器来获取 Icloud 和 Yahoo 日历的 C++ Windows 应用程序。
是否有实现此协议的 C++ 库?
c# - 从 CalDAV 获取用户的日历列表
我正在尝试从 CalDAV 服务器获取当前用户拥有的日历列表。
通过以下请求,我能够使用我们的初始测试帐户获取此信息:
结果是一个<multistatus>
包含多个元素的<response>
元素。如果我提取resourcetype
日历所在的元素,我会得到我的日历列表。
但是,当我们添加其他用户时,会产生“未找到”错误,因此我改为使用“主要匹配”请求来获取当前用户的“日历-主页-设置”路径。
该路径看起来像 /d817aaec-7d24-5b38-bc2f-6369da72cdd9/。所以我用这条路径尝试了上述请求。现在结果是一个<multistatus>
只有一个元素的<response>
元素。它不包含任何日历。第一个响应与我原始请求中的第一个响应完全相同。
我一辈子都想不出能让我在所有情况下都获得日历用户列表的魔法酱。
编辑:
这是我的一些代码。我最初尝试的“/calendars/users/test/” URL 是从GetRequestAddress()
. 我曾经使用principal-match
日历路径的第二种情况CalendarHomeSet
(如下所示)。
第二次编辑:
以下是有关我的请求和响应的确切内容的更多详细信息。在第一个中,请注意结果包括一个集合,然后是两个日历集合。
回复:
接下来,我尝试了相同的请求,但针对不同的 URL。这一次,我使用了通过查询主体获得的 URL。现在结果仍然包含初始集合,但它们不包含日历。
回复:
第三次编辑:
这是我用来设置日历主页的请求和响应:
回复:
ios - 是否支持在 CalDAV 或 ical (icalendar) 中将事件标记为只读
我搜索了 iCalendar 规范https://www.rfc-editor.org/rfc/rfc5545和 CalDAV 规范https://www.rfc-editor.org/rfc/rfc4791寻找有关如何标记事件的见解当 iPhone 使用 CalDAV 协议连接到我们的服务器时,它作为“只读”(不可编辑)从我们的日历服务器发送到 iPhone。但答案不是突然出现在我身上。
换句话说,iPhone 用户正在通过 CalDAV 帐户接收一系列事件。通常,他们可以编辑任何这些事件。但是,我们希望能够将一些标记为只读。我知道我们可以使用 iPhone 的功能添加一个 .ics 订阅帐户,但我们并不想这样做,因为它需要 iPhone 用户同时添加一个 CalDAV 和一个 .ics 订阅帐户。
我们使用 SabreDAV 作为我们的 CalDAV 服务器。
我的技术同事要求我对此进行调查,因此我向 Stackoverflow 社区寻求帮助。
任何帮助或提示将不胜感激。
.net - .NET CalDAV 客户端
我需要我的 .NET 应用程序来访问来自各种 CalDAV 服务器的内容。我一直在寻找一个好的 .NET CalDAV 客户端库,但一直找不到适合我需要的任何东西。这样的库是否存在,还是我需要从头开始编写?我正在寻找类似 iPhone 上只需要服务器地址、用户名和密码的东西。
ruby-on-rails - 如何将操作绑定到谷歌日历提醒?
我在rails上使用红宝石:
使用 gdata 宝石。
我正在使用 Google 日历为我的 Web 应用程序保存事件。我还想接收已保存事件的通知/提醒,我注意到 Google 日历通知仅限于电子邮件、短信和弹出窗口,我想阅读通知。
我现在唯一的线索是收听从@calendar.google.com 发送的电子邮件并在收到电子邮件时触发操作。
还有其他线索吗?
iphone - 如何将 Tapku 与 CalDAV 服务集成?
我正在使用 Tapku 库开发日历应用程序。我需要将 Tapku 日历与 CalDAV 服务器连接。
有谁知道如何使用 CalDAV 服务或任何其他我可以与 CalDAV 服务器连接的 iOS 日历库配置 Tapku 日历?
至少有人知道如何实现 CalDav iOS 日历吗?因为有一些应用程序连接到日历服务器。我也不能使用默认的 iOS 日历,因为我的要求是在我的应用程序中显示所有日历数据。
java - CalDAV 实施
目前,我在 Android Java 上研究 calDAV 协议,我卡在 CalDAV 身份验证中。我清楚地知道它是如何工作的。大家可以给我简单的示例项目来演示一下吗?谢谢大家。
ios - 是否可以使用 iOS 上的应用程序修改 CalDAV / CardDav 帐户?
我想知道是否有用于修改 iOS 上的 CalDAV 和 CardDAV 帐户的 API。我正在开发一个应用程序,我希望用户能够简单地启用和禁用日历/联系人同步,而无需在 iOS 设置中手动设置。我知道我可以自带 CalDAV / CardDav 实现并使用 EventKit / 地址簿 api 进行同步,但我想避免这种实现,因为它会比使用默认的 CalDav / CardDAV 更加困难和容易出错iOS的实现。
非常感谢您的回答。