Чтение XML-ответов из службы Календаря Google с помощью Java - PullRequest
1 голос
/ 29 апреля 2011

Я хочу получить данные о времени занятости пользователя, используя новый API запросов времени занятости, предоставляемый как часть API календаря Google. Результатом является канал только для чтения, содержащий блоки времени занятости пользователя, который выглядит следующим образом:

<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>liz@example.com</name>
    <email>liz@example.com</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 данных календаря для Java, чтобы получить каждый блок занятого времени, чтобы я мог читать и что-то с ними делать, например, печать в терминал? Какой тип фида это возвращает, 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);

1 Ответ

2 голосов
/ 29 апреля 2011

AppEngine поддерживает (начиная с 1.2.8) API привязки данных XML к объектам JAXB. В Интернете есть много примеров и учебных пособий (хотя большинство из них сосредоточено на автоматической генерации классов из схемы XML - вам это не нужно). Пример: http://www.vogella.de/articles/JAXB/article.html

В качестве альтернативы вы можете использовать API данных календаря для Java и вообще отказаться от шага преобразования XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...