Calendar 如何将Bedework服务器用作另一个系统的服务

Calendar 如何将Bedework服务器用作另一个系统的服务,calendar,icalendar,caldav,Calendar,Icalendar,Caldav,对于我的应用程序,我需要使用开源日历服务器。经过一些研究,我选择了Bedework服务器作为我的任务。基本上我想要的是使用这个服务器来处理我的应用程序的日历事件。尽管我已经使用QuickStart软件包设置了一个本地服务器,但我仍然有点困惑如何使用它。我可以使用它的web UI创建事件。但我想将其用作服务器的服务(类似于REST服务)。我阅读了他们的文档,但找不到任何有帮助的东西。如果你能在这方面帮助我,我真的很感激。提前谢谢 您可以使用访问服务器。这是一个标准的REST协议,指定如何创建/查询

对于我的应用程序,我需要使用开源日历服务器。经过一些研究,我选择了Bedework服务器作为我的任务。基本上我想要的是使用这个服务器来处理我的应用程序的日历事件。尽管我已经使用QuickStart软件包设置了一个本地服务器,但我仍然有点困惑如何使用它。我可以使用它的web UI创建事件。但我想将其用作服务器的服务(类似于REST服务)。我阅读了他们的文档,但找不到任何有帮助的东西。如果你能在这方面帮助我,我真的很感激。提前谢谢

您可以使用访问服务器。这是一个标准的REST协议,指定如何创建/查询/删除事件和TODO。这与OSX和iOS上的日历或提醒应用程序与服务器通话的协议相同


这是了解更多信息的好切入点。

如果您仍在查看此内容,可以尝试使用任何CalDAV客户端库-

我试过CalDAV4j图书馆。对于所有基本用例,它都可以正常工作

该库上还开发了一个演示github项目,用于列出服务器中的事件-

您可以在项目中使用ListCalendarTest.java,并为主机配置提供适当的端点。例如(对于床上作业)——


嘿,非常感谢你的信息。我一定会查一查的。我的问题是我想创建一个日历事件。对于这一点,我应该与哪个URL交谈?我对这一点的理解仍然很模糊。希望你们的投入能让你们对这个问题有更多的了解。那个么RFC的哪一部分你们还不清楚呢?这是一个关于如何工作的详细解释?另一个资源:@hnh,我刚刚安装了bedework 3.10.2,并尝试按照协议指定的方式访问/ucaldav/user/vbede/calendar以获取事件,但没有返回任何内容,如果删除ACCEPT标头,它将返回html。。。。床上作业有可能以不同的方式实现吗?感谢您提前提供的任何建议:)请详细说明。您运行什么请求?一个主要的发现?你读过(并理解)sabredav的文章吗?有更新吗?我对你的解决方案感兴趣,谢谢
    HttpClient httpClient = new HttpClient();
    // I tried it with zimbra - but I had no luck using google calendar
    httpClient.getHostConfiguration().setHost("localhost", 8080, "http");
    String username = "vbede";
    UsernamePasswordCredentials httpCredentials = new UsernamePasswordCredentials(username, "bedework");
    ...
    ...
    CalDAVCollection collection = new CalDAVCollection("/ucaldav/user/" + username + "/calendar",
            (HostConfiguration) httpClient.getHostConfiguration().clone(), new CalDAV4JMethodFactory(),
            CalDAVConstants.PROC_ID_DEFAULT);
    ...
    ...
    GenerateQuery gq = new GenerateQuery();
    // TODO you might want to adjust the date
    gq.setFilter("VEVENT [20131001T000000Z;20131010T000000Z] : STATUS!=CANCELLED");
    CalendarQuery calendarQuery = gq.generate();