我正在开发一个服务器的自定义实现(非常基本的WebDAV),它接受Outlook发布的日历.
Outlook似乎有一个设置(参见下面的屏幕截图),它接受服务器的参数,告诉它重新发布日历的频率,这是我想要弄清楚的参数.
如果设置未指定的Outlook默认到60分钟,这不为我工作,但我找不到什么参数可以是任何信息(我知道,Outlook的设置可以在UI内进行调整,但我需要它通过自动完成来自服务器的响应).使用Wireshark时,我发现当第一次发布日历时,Outlook会向PROPFIND
服务器的URL 发送一个方法:
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>
Run Code Online (Sandbox Code Playgroud)
然后用XML响应(我假设这是设置的位置,但无法找到任何信息):
<?xml version="1.0"?><a:multistatus xmlns:a="DAV:"/>
Run Code Online (Sandbox Code Playgroud)
我在这一点上丢失,不知道还有什么地方寻找大量的谷歌搜索和流量嗅探后(展望< - >我发现交流沟通,但没有人可以使用非默认PARAM).任何建议在哪里寻找这样的东西都是个好主意?
我在我的数据库中保存了一组事件(一个非常特殊的数据库,所以我不能使用一些流行的开源服务器,比如MySQL).现在我想构建一个CalDav服务器(通过Java),以便用户可以将他的日历客户端连接到它以检索或修改事件.我是新手,所以有很多问题,希望你们能帮助我.
一般步骤是什么?
我需要提供servlet吗?如果是,那么我必须为请求返回什么?一个JSON或XML或.ics文件?
当用户订阅我的日历时,这是否意味着他的客户端将在一段时间后拉出我的服务器(调用servlet).
更新:这是一个1岁的问题,因为我第一次问,但我得到了一些赞成,所以我不得不提供一些信息:我最终使用了Milton库http://milton.io/,它抽象了servlet ,你只需编写函数来返回数据.图书馆的作者非常有帮助和信息丰富.最终结果:我们的caldav服务器已经运行.
我也接受埃弗特的回答.
我需要我的.NET应用程序来访问各种CalDAV服务器的内容.我一直在寻找一个好的.NET CalDAV客户端库,但一直找不到适合我需求的东西.这样的库是否存在,或者是否需要从头开始编写?我正在寻找类似iPhone的东西,只需要服务器地址,用户名和密码.
我正在寻找一种在Outlook中查看CalDav日历的好方法.我知道OpenConnector项目,但到目前为止还不满意(重新:稳定性问题和配置困难).此外,它似乎得到了单个开发人员的支持,并且在大约18个月内没有新版本.
我知道Google有一个自定义Outlook插件可以连接到他们的日历(可能是通过CalDav),我知道其他Google-Outlook同步插件 - 但是还有其他选项可以将Outlook客户端连接到符合CalDav标准的通用服务器吗?
我想在我的应用程序中创建外部用户可以查看的日历.
CalDAV(基本上是WebDAV + iCalendar)格式似乎得到了相对广泛的支持,尽管某些客户端(例如Outlook)非常不同寻常.虽然对我来说完全是新的.
我想在外部发布事件,我不需要用户能够更新它们.
.ics文件中事件的文本格式显得相对简单:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTART:20091130T000000Z
DTEND:20091201T000000Z
SUMMARY:Test event for calendar format
LOCATION:Company site
DESCRIPTION:Test event.\nMore text on a new line
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
但是,我真的不想编写自己的ics文件构建器.从每行开始的键名在ics文件之间似乎也不一致.
那里有.Net实现吗?理想情况下,我不想设置整个WebDAV实现 - 只是能够检索只读日历.
我主要希望这是一个用户可以从iPhone,Android和Blackberry手机同步的网址.我知道他们可以处理来自某些供应商的CalDAV服务,但不能处理其他供应商(例如我的iPhone可以从Google日历同步但却没有使用FaceBook的活动) - 任何人都知道为什么?
我认为事件也可以包含MIME附件 - 这是否足以支持值得研究?
更新
对此的进一步研究发现,在大多数实施中存在一些奇怪的不一致.所有主流移动客户端操作系统(iPhone,Blackberry,Android)都无法处理.ics文件.
但是,iPhone可以从URL打开.ics(选择订阅日历),这也适用于FaceBook.然而,黑莓和Android不能.我认为Blackberry可以处理完整的CalDAV选项(而不仅仅是.ics文件),但对它的编程知之甚少.
有没有一致的方法来做到这一点?
有谁知道在node.js应用程序中提供Calendar(CalDAV)接口的选项?
我见过jsDAV,但它似乎目前不支持CalDAV.
似乎node + express支持像*PROPFIND等的*DAV HTTP方法,但我怀疑将CalDAV impl直接写为我的应用程序的一部分是可行的.
任何想法或建议?
我想知道SyncML和CalDAV在功能,优点和缺点方面有什么区别.
我正在尝试确定使用哪种技术来同步Web应用和移动设备之间的事件/日历.我需要处理冲突和双向同步.
乍一看,CalDAV似乎最适合我的需求,但我不确定是否可能存在缺陷.SyncML是一个标准,但我读了Oracle博客上的一些帖子,其中说CalDAV更好......
我知道谷歌支持两者,但也提供ActiveSync(Exchange),这是一种Microsoft技术作为他们的主要解决方案.我对这种方式不感兴趣.
干杯,威廉
我需要在Ruby(Rails精确)应用程序中使用CalDAV在日历服务器上创建事件.我看了一些不同的图书馆并做了一些谷歌搜索.
我看了ri-cal(http://ri-cal.rubyforge.org/rdoc/)但不确定它是否支持将数据发送到服务器或者我自己必须这样做,
这看起来很有希望http://www.local-guru.net/blog/pages/rubycaldav,但它说它是alpha软件,我需要稳定的东西.
做这个的最好方式是什么?是否有任何库已经执行此操作,我是否需要形成自己的HTTP请求?
关于这个问题的任何建议都是有效的
我想知道在iOS上是否有用于修改CalDAV和CardDAV帐户的API.我正在开发一个应用程序,我希望用户可以简单地启用和禁用日历/联系人同步,而无需在iOS设置中手动设置.我知道我可以使用自己的CalDAV/CardDav实现并使用EventKit /地址簿api进行同步,但我想避免这种实现,因为它比使用默认的CalDav/CardDAV要困难得多且容易出错. iOS的实现.
非常感谢您的答案.