Для моего приложения мне нужно использовать сервер календаря с открытым исходным кодом. После некоторых исследований я выбрал Bedework Server для своей задачи. В основном я хочу использовать этот сервер для обработки событий календаря моего приложения. Несмотря на то, что я установил локальный сервер, используя пакет быстрого запуска, я все еще смущен тем, как я могу это использовать. Я могу создавать события, используя его веб-интерфейс. Но я хочу использовать это как услугу с моего сервера (что-то вроде службы REST). Я прочитал их документацию, но я не мог найти ничего, что поможет. Я очень благодарен, если вы можете мне помочь в этом. Заранее спасибо.Как использовать сервер постельного белья в качестве службы для другой системы
ответ
Вы можете получить доступ к серверу с помощью CalDAV protocol. Это стандартный протокол REST, который определяет способ создания/запроса/удаления событий и todos. Это тот же протокол, что и приложения Calendar или Reminders для OS X и iOS, чтобы разговаривать с сервером.
CalConnect CalDAV website является хорошей точкой входа, чтобы узнать больше об этом.
Привет большое спасибо за вашу информацию. Я обязательно проверю это. Проблема для меня заключается в том, что я хочу создать событие календаря. Для чего будет URL, с которым я должен поговорить? У меня все еще есть очень размытое понимание этого. Надеемся, что ваши входы потеряют больше света. – igk
Итак, какая часть RFC вам непонятна? Это подробное объяснение того, как это работает? Другой ресурс: http://sabre.io/dav/building-a-caldav-client/ – hnh
@hnh, я только что установил постельное белье 3.10.2 и попытался получить доступ/ucaldav/user/vbede/calendar, поскольку протокол указывает на получение события, но ничего не возвращено, ну, он возвращает html, если я удалю заголовок ACCEPT .... возможно ли, что постель реализует его по-другому? Спасибо за любой совет заранее :) –
Если вы все еще ищете это, вы можете попробовать использовать любые библиотеки клиента CalDAV -
Я попробовал библиотеку CalDAV4j. Для всех основных случаев использования он работает нормально.
Существует также демонстрационный GitHub проект этой библиотеки, разработанной, чтобы вывести список событий в сервере -
Вы можете сделать использование ListCalendarTest.java в проекте и предоставить соответствующие конечные точки конфигурации хоста. Пример (для постельного белья) -
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();
Любые обновления? Мне интересно ваше решение, спасибо –