API Календаря Google с Java - Получить события только для календаря по умолчанию, игнорируя праздники - PullRequest
1 голос
/ 10 декабря 2011

Что я пытаюсь сделать, это получить список всех событий только в календаре по умолчанию? Я не хочу, чтобы какие-либо другие календари включали события, т.е. праздники.

Я использую «... / feeds / username / default / full» и делаю запрос для всех событий от 1 месяца назад до навсегда. У меня есть два события, которые я создал, но я получаю канал с 25 записями. Сначала два моих мероприятия, а потом 23 праздника. Я действительно не хочу их включать вообще, но если они ДОЛЖНЫ быть там, как я могу их обнаружить. Единственное, что я могу найти, так это то, что eTag для моих двух событий отличается от праздничных. Но я не могу просто сказать, получить все события от первого Etag, с которым я сталкиваюсь, потому что в календаре по умолчанию не может быть никаких событий, поэтому первым будет праздник.

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 17 декабря 2011

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

http://code.google.com/apis/calendar/v3/using.html#retrieving_events

Код, который вам нужен:

Events events = service.events().list("primary").execute();

while (true) {
  for (Event event : events.getItems()) {
    System.out.println(event.getSummary());
  }
  String pageToken = events.getNextPageToken();
  if (pageToken != null && !pageToken.isEmpty()) {
    events = service.events().list("primary").setPageToken(pageToken).execute();
  } else {
    break;
  }
}
0 голосов
/ 13 июля 2012

Интересно, какую версию Calendar API вы используете?В v3 я могу участвовать во всех моих мероприятиях без выходных.Я добавил еще несколько примеров кода, поскольку документация Google неверна для подключения к Calendar V3 API через Oauth2 для Java.

Используйте код, указанный в другом сообщении, для зацикливания событий календаря после настройки Oauth и инициализации календаря.Вы, вероятно, можете, но не нужно объявлять API событий.Я просто звоню из службы календаря (3).Обратите внимание, что идентификатор календаря, который я перечислил, - «Основной».

Calendar service3 = new Calendar(transport, jsonFactory, accessProtectedResource);

com.google.api.services.calendar.model.Calendar calendar = service3.calendars().get("primary").execute();
com.google.api.services.calendar.model.Events events = service3.events().list("primary").execute(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...