我想查询事件。 我使用以下代码:
final Events feed = client.events().list(myCalendar.getId()).setOrderBy("updated").set("sortOrder", "descending")
.execute();
然而,这不起作用。
如何订购结果降序而不是升序?
我的日历有超过250个事件(返回的最大事件数),这就是为什么我不能迭代所有事件并需要进行一些预过滤。
答案 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
“已更新”:按上次修改时间排序(升序)。