2015-11-02 105 views
1

我不能夠解析與谷歌日曆API的谷歌日曆事件。Java的谷歌日曆解析事件

URL feedUrl = new URL("https://www.googleapis.com/calendar/v3/calendars/"+ emailAddress +"/events/"); 
EventFeed eventFeed = calendarService.getFeed(feedUrl, EventFeed.class); 

異常,最後一行:

com.google.gdata.util.ParseException: Unrecognized content type:application/json;charset=UTF-8 
+1

你可能要開始使用該API的V3版本而不是的gdata版本。 https://developers.google.com/google-apps/calendar/v3/reference/events/get – DaImTo

回答

1

gdata.util使我相信,你正在嘗試使用的GData客戶端庫。

但你似乎是試圖給它的終點爲谷歌日曆API的V3。這是不行的,因爲Google日曆的V3是發現服務API而不是GData API。 Discovery API返回jSon,gData API返回xml,因此gData Client庫無法理解V3 API試圖告訴它的內容。因此,Unrecognized content type:application/json

我想你應該通過下載當前Google API java client library開始。

還要注意的是Google Calendar API was shut down November 17, 2014的的GData版本,所以我不相信你將能夠使用gdata的客戶端庫訪問谷歌日曆

+0

謝謝你,我還以爲這是同谷歌接觸。是否有可能設置accessToken來獲取事件? https://developers.google.com/google-apps/calendar/v3/reference/events/get#examples –

+0

這是一個不同的問題,一個我不能幫助。我對Java客戶端庫很少有經驗。嘗試提出一個新的問題,有人可能會回答。 Google聯繫人是gdata API,這就是它的工作原理。 – DaImTo

+1

謝謝,我想我已經找到了一個解決方案:GoogleCredential憑證=新的GoogleCredential()。setAccessToken(accessToken); 。 日曆服務=新Calendar.Builder(httpTransport,jsonFactory,證書) .setApplicationName( 「應用程序名稱」)構建(); –