2011-04-29 5 views
1

Google 캘린더 API의 일부로 제공되는 새로운 쿼리 대기 시간 API를 사용하여 사용자의 통화 중 시간을 검색하고 싶습니다. 결과는 같습니다 바쁜 배의 사용자의 블록을 포함하는 읽기 전용 사료입니다 다음 : 위의 반환 공급을 바탕으로Java로 Google 캘린더 서비스에서 XML 응답 읽기

<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gCal="http://schemas.google.com/gCal/2005" 
xmlns:gd="http://schemas.google.com/g/2005" 
gd:kind='calendar#freebusy' > 
    <id>http://www.google.com/calendar/feeds/default/freebusy/busy-times/liz%40example.com</id> 
    <updated>2010-03-13T00:00:00.000Z</udpated> 
    <link rel='self' 
    href='https://www.google.com/calendar/feeds/default/freebusy/busy-times/liz%40example.com' /> 
    <author> 
    <name>[email protected]</name> 
    <email>[email protected]</email> 
    </author> 
    <gCal:timeRange> 
    <gd:when startTime='2010-03-13T00:00:00Z' endTime='2010-03-14T00:00:00Z'/> 
    <gCal:timeRange> 
    <gCal:busy> 
    <gd:when startTime='2010-03-13T14:00Z' endTime='2010-03-13T14:30Z'/> 
    </gCal:busy> 
    <gCal:busy> 
    <gd:when startTime='2010-03-13T16:00Z' endTime='2010-03-13T16:30Z'/> 
    </gCal:busy> 
</entry> 

, 내가 캘린더 데이터 API를 사용하는 방법 자바의 각 블록을 얻기 위해 바쁜 시간 그래서 나는 터미널에 인쇄하는 것과 같이 그들과 함께 뭔가를 읽고 할 수 있습니까? 이것이 반환하는 피드 유형은 무엇입니까, CalendarEventFeed, CalendarFeed, ...?

CalendarService service = new CalendarService("myapp-v1");   
service.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer());  
URL feedUrl = new URL(METAFEED_URL_BASE+FREEBUSY_FEED_URL_SUFFIX+user.username()); 
CalendarEventFeed resultFeed = service.getFeed(feedUrl, CalendarEventFeed.class); 

답변

2

AppEngine은 (1.2.8부터) JAXB XML-to-objects 데이터 바인딩 API를 지원합니다. 웹에 많은 예제와 튜토리얼이 있습니다 (대부분 XML 스키마의 자동 클래스 생성에 중점을 둡니다 -이 것은 필요하지 않습니다). 예 : http://www.vogella.de/articles/JAXB/article.html

또는 Calendar Data API for Java을 사용하고 XML 변환 단계를 생략 할 수 있습니다.

+0

감사합니다. 귀하의 대답은 매우 도움이되었지만 잘못된 질문을 한 것을 깨달았습니다. 나는 내 게시물을 편집하고 제목을 변경했습니다. 그래도 나를 올바른 방향으로 생각하게 해주셔서 고맙습니다. – mcorley