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( “应用程序名称”)构建(); –