문제

이것은 여기 StackoverFlow의 첫 번째 게시물입니다. 내 질문은 Google 캘린더 피드를 변경하여 현재의 이벤트 만 자동으로 표시하는 방법입니다.

기본적으로 내가하고 싶은 것은 피드를 오늘날의 이벤트 만 보여주는 웹 페이지에 출력하는 것입니다. 피드는 날마다 바뀔 것입니다. 나는 그 경우를 제외하고는 다른 피드 (Google 캘린더가 아님)와 비슷한 일을했지만 가장 최근의 "#"게시물을 출력 할 것입니다. 오늘 만 이벤트를 보여 주면 효과가 없을 것입니다.

나는 야후 파이프를 검색했고 피드를 입력해야 할 날짜로 필터링하는 곳을 발견했습니다. 이것은 누군가가 날짜를 입력하는 대신 자동으로 만들 수 있기를 원한다는 것을 제외하고는 작동합니다. Google Calendar Feed API를 읽으면 날짜 범위도 있지만 동일한 문제이므로 범위를 직접 지정해야합니다. 이를 자동화하거나 다른 대안을 자동화하는 방법이 있습니까?

내가 할 수있는 XSLT 마법이 있습니까?

도와 주셔서 감사합니다!

도움이 되었습니까?

해결책

당신은 이것을 할 수 있습니다 야후 파이프:

  1. Google 캘린더에서 ICL 피드를 가져 오십시오. (다른 사람들이 언급 한 바와 같이, Google 캘린더가 제공하는 Atom Feeds는 이벤트 날짜를 합리적으로 구조화 된 형식으로 포함하지 않는 것 같습니다.)
  2. dtstart/dtend 값을 기반으로 피드를 필터링하십시오. 당신은 사용할 수 있습니다 날짜 건축업자 모듈 현재 날짜를 얻으려면 날짜로 "오늘"을 입력하십시오.

an 예제 파이프 (다음 24 시간 내에 시작하는 이벤트 만 표시) :

iCal next 24 h

다른 팁

이것은 GData의 샘플에 의해 제공됩니다

private static void dateRangeQuery(CalendarService service,
  DateTime startTime, DateTime endTime) throws ServiceException,
  IOException {
CalendarQuery myQuery = new CalendarQuery(eventFeedUrl);
myQuery.setMinimumStartTime(startTime);
myQuery.setMaximumStartTime(endTime);

// Send the request and receive the response:
CalendarEventFeed resultFeed = service.query(myQuery,
    CalendarEventFeed.class);

System.out.println("Events from " + startTime.toString() + " to "
    + endTime.toString() + ":");
System.out.println();
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
  CalendarEventEntry entry = resultFeed.getEntries().get(i);
  System.out.println("\t" + entry.getTitle().getPlainText());
}
System.out.println();

}

나는 당신이 미니 타임과 Maxtime을 같은 날에 설정할 수 있다고 생각합니까?

당신이하는 일은 Atom Feed의 URL 매개 변수를 오늘 시작하여 오늘부터 시작하여 내일부터 시작하는 것입니다. 또한 작동하려면 인증해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top