Используя Java, я пытаюсь использовать com.github.caldav4j, чтобы загрузить события из моего календаря iCloud. 400 < /p>
Многие статьи говорят, что 400 - это проблема с автозаготой, но я задницу, так как я использую те же кредиты, чтобы получить URL календаря, эти кредиты в порядке ... < /p>
ICAL_PROD_ID = "-//Apple Inc.//iCloud Calendar//EN";
//my calendar path is from the property find
calendarPath = "/16*******/calendars/ad4****-****-481b-****-7f74****acfb/"
this.calDAVCollection = new CalDAVCollection(
calendarPath,
httpHost,
methodFactory,
ICAL_PROD_ID);
< /code>
Я затем делаю < /p>
// Create calendar query directly instead of using GenerateQuery
CalendarQuery calendarQuery = new CalendarQuery();
// Create comp filter for VCALENDAR
CompFilter calendarCompFilter = new CompFilter("VCALENDAR");
// Create comp filter for VEVENT
CompFilter eventCompFilter = new CompFilter(Component.VEVENT);
// Set time range filter to specified dates
DateTime startDateTime = new DateTime(startDate);
DateTime endDateTime = new DateTime(endDate);
TimeRange timeRange = new TimeRange(startDateTime, endDateTime);
eventCompFilter.setTimeRange(timeRange);
// Add VEVENT filter to VCALENDAR filter
calendarCompFilter.addCompFilter(eventCompFilter);
// Set the comp filter to the query
calendarQuery.setCompFilter(calendarCompFilter);
// Request calendar data
CalendarData calendarData = new CalendarData();
calendarQuery.setCalendarDataProp(calendarData);
// Add debugging for query
logger.debug("Executing calendar query for date range: {} to {}", startDate, endDate);
// Execute the request using the collection's method
List calendars = calDAVCollection.queryCalendars(httpClient, calendarQuery);
< /code>
Ошибка, которую я получаю от caldavcollection.querycalendars < /p>
com.github.caldav4j.exceptions.CalDAV4JException: Problem executing method
at com.github.caldav4j.CalDAVCollection.getCalDAVResources(CalDAVCollection.java:927) ~[caldav4j-1.0.5.jar:?]
at com.github.caldav4j.CalDAVCollection.queryCalendars(CalDAVCollection.java:779) ~[caldav4j-1.0.5.jar:?]
at com.unitnet.calendar.caldav.service.iCloudCalendarService.getEvents(iCloudCalendarService.java:189) ~[classes/:?]
at com.unitnet.calendar.caldav.utils.CalDAVSyncThread.syncCalendar(CalDAVSyncThread.java:90) ~[classes/:?]
at com.unitnet.calendar.caldav.utils.CalDAVSyncThread.run(CalDAVSyncThread.java:50) ~[classes/:?]
Caused by: org.apache.jackrabbit.webdav.DavException
at org.apache.jackrabbit.webdav.client.methods.BaseDavRequest.getResponseBodyAsMultiStatus(BaseDavRequest.java:93) ~[jackrabbit-webdav-2.20.3.jar:?]
at com.github.caldav4j.CalDAVCollection.getCalDAVResources(CalDAVCollection.java:905) ~[caldav4j-1.0.5.jar:?]
... 4 more
Caused by: java.io.IOException: XML parsing error
at org.apache.jackrabbit.webdav.client.methods.BaseDavRequest.getResponseBodyAsDocument(BaseDavRequest.java:73) ~[jackrabbit-webdav-2.20.3.jar:?]
at org.apache.jackrabbit.webdav.client.methods.BaseDavRequest.getResponseBodyAsMultiStatus(BaseDavRequest.java:87) ~[jackrabbit-webdav-2.20.3.jar:?]
at com.github.caldav4j.CalDAVCollection.getCalDAVResources(CalDAVCollection.java:905) ~[caldav4j-1.0.5.jar:?]
... 4 more
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204) ~[?:?]
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178) ~[?:?]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400) ~[?:?]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) ~[?:?]
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1465) ~[?:?]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1013) ~[?:?]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) ~[?:?]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) ~[?:?]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) ~[?:?]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) ~[?:?]
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247) ~[?:?]
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342) ~[?:?]
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122) ~[?:?]
at org.apache.jackrabbit.webdav.xml.DomUtil.parseDocument(DomUtil.java:104) ~[jackrabbit-webdav-2.20.3.jar:?]
at org.apache.jackrabbit.webdav.client.methods.BaseDavRequest.getResponseBodyAsDocument(BaseDavRequest.java:69) ~[jackrabbit-webdav-2.20.3.jar:?]
at org.apache.jackrabbit.webdav.client.methods.BaseDavRequest.getResponseBodyAsMultiStatus(BaseDavRequest.java:87) ~[jackrabbit-webdav-2.20.3.jar:?]
at com.github.caldav4j.CalDAVCollection.getCalDAVResources(CalDAVCollection.java:905) ~[caldav4j-1.0.5.jar:?]
Подробнее здесь: https://stackoverflow.com/questions/796 ... b-caldav4j