[英]Google Calendar API w/ Java - Get events only for the default calendar, ignoring the holidays
我想做的是僅獲取默認日歷中所有事件的列表? 我不希望包含其他日歷活動,例如假期。
我正在使用“ ... / feeds /用戶名/ default / full”並查詢從1個月前到永遠的所有事件。 我創建了兩個事件,但獲得了包含25個條目的供稿。 我的兩個事件是第一個,然后是23個假期。 我真的根本不將它們包括在內,但是如果它們必須存在,我如何檢測到它們。 我唯一能找到的是我的兩個活動的eTag與假期的eTag不同。 但是我不能只說從遇到的第一個Etag中獲取所有事件,因為默認日歷可能沒有任何事件,因此第一個將是假期。
任何幫助,將不勝感激。
使用最新版本的Google Calendar API,只需幾行代碼即可完成此操作。 您需要做的就是提取主日歷的事件,如此處所述:
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;
}
}
我想知道您正在使用哪個版本的Calendar API? 在v3中,我無需休假就能參加所有活動。 我添加了更多代碼示例,因為Google文檔通過Java Oauth2連接到Calendar V3 API不正確。
使用其他文章中列出的代碼來循環遍歷設置Oauth和初始化日歷后的Calendar事件。 您可能可以,但不需要聲明事件API。 我只是從Calendar service(3)調用它。 請注意,我列出的日歷ID是“主要”。
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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.