Java Google Calendar API订单事件降序

时间:2017-05-15 08:17:47

标签: java google-api google-api-java-client google-calendar-api

我想查询事件。 我使用以下代码:

final Events feed = client.events().list(myCalendar.getId()).setOrderBy("updated").set("sortOrder", "descending")
    .execute();

然而,这不起作用。

如何订购结果降序而不是升序

我的日历有超过250个事件(返回的最大事件数),这就是为什么我不能迭代所有事件并需要进行一些预过滤。

1 个答案:

答案 0 :(得分:1)

您需要使用分页来循环其他行。

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.Events;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Iterate over the events in the specified calendar
String pageToken = null;
do {
  Events events = service.events().list('primary').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

默认情况下,您无法选择升序或降序。 link

  

“已更新”:按上次修改时间排序(升序)。