2011-12-21 48 views
1

我想要做的是在指定的日期獲取給定谷歌日曆中的所有事件所有事件在java中的日曆中的谷歌日曆api(V3)上列出?

現在我們可以得到事件很容易地列出使用下面的代碼

public Events getAllEvent() 
{ 
    Events events= null ; 
    try { 

     events = service.events().list(this.calendarID).execute(); 

    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    return events ; 
} 

我應該如何轉換這種功能,因此,它將使在那一天,我只指定事件。我嘗試了很多方法,但在版本3中,它在v2中的使用方式並不一致。 任何建議。請記住我們正在談論谷歌日曆Api版本3

回答

9

嗨亞我發現了我的問題的答案,所以更新在這裏爲他人。 這可以做到。雖然我們沒有直接的方法,但我們可以使用查詢參數來完成。假設我們希望從今天開始提供事件,而不是比今天早。然後我們可以做到這一點。

Events events = service.events().list(calendarID).setTimeMin("2012-01-01T00:00:00Z").execute(); 

代替

events = service.events().list(this.calendarID).execute(); 

這只是給我們所有的方式反饋至2031年

對於日期間獲得的飼料使用setTimemin和setTimeMax一起

希望這幫助別人歡呼...

+0

嗨感謝您的答案,你知道如何設置TimeMin的Objective-C(我的意思是XCode,IOS開發),因爲我可以得到結果,當我嘗試使用Google API Explorer時,但同樣是給錯誤的 「錯誤」:{ 「錯誤」: { 「域」: 「全局」, 「理」: 「錯誤請求」, 「消息」: 「錯誤的請求」 } ] , 「code」:400, 「message」:「Bad Request」 } } – silentBeep 2014-03-17 22:19:50

+0

@ShafKhan - 你可能正在發送「全局」或訪問全局列表,而不是將其更改爲「主」列表。 – 2014-05-27 11:00:20

+0

你能解釋「2012-01-01T00:00:00Z」中的T和Z是什麼意思? – bubakazouba 2015-04-13 02:38:28

1

Sameer目前的API不包含此功能。但是您可以在此處製作功能請求Apps Apis issue tracker
由於Google工程師自己對其進行監控,您將很快得到一些積極的回覆。

+0

我們可以這樣做。 Thanx爲指針,但。 +1 – 2012-01-03 11:05:58

2

下面列出的是使用t他爲使用Oauth2的Google API的v3日曆服務。我發佈了它,因爲Google在其網站上記錄不正確。

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();