【问题标题】:How to use Bedework server as a service for another system如何使用 Bedework 服务器作为另一个系统的服务
【发布时间】:2015-06-03 15:03:33
【问题描述】:

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

【问题讨论】:

  • 有什么更新吗?我对您的解决方案感兴趣,谢谢

标签: calendar icalendar caldav


【解决方案1】:

您可以使用CalDAV protocol 访问服务器。这是一个标准 REST 协议,它指定如何创建/查询/删除事件和待办事项。它与 OS X 和 iOS 上的日历或提醒应用程序用于与服务器通信的协议相同。

CalConnect CalDAV website 是了解更多信息的好入口。

【讨论】:

  • 您好,非常感谢您的信息。我一定会检查一下。我的问题是说我想创建一个日历事件。为此,我应该与之交谈的 URL 是什么?我对此的理解仍然很模糊。希望您的意见能更清楚地说明这一点。
  • 那么您不清楚 RFC 的哪一部分?这是关于它如何工作的详细解释?另一个资源:sabre.io/dav/building-a-caldav-client
  • @hnh,我刚刚安装了 bedework 3.10.2 并尝试访问 /ucaldav/user/vbede/calendar 作为协议指定获取事件,但没有返回任何内容,好吧,它返回 html 如果我删除了 ACCEPT 标头.... bedework 是否有可能以不同的方式实现它?感谢您提前提供任何建议:)
  • 请详细说明。你有什么要求?一个主要的propfind?您是否阅读(并理解)了 sabredav 文章?
【解决方案2】:

如果您还在寻找这个,您可以尝试使用任何 CalDAV 客户端库 -

CalDAV-libraries

我尝试了 CalDAV4j 库。对于所有基本用例,它都可以正常工作。

这个库上还有一个演示 github 项目,用于列出服务器中的事件 -

list-events-caldav4j-example

您可以在项目中使用 ListCalendarTest.java 并为主机配置提供适当的端点。例如(用于Bedework) -

    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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多