2015-03-02 184 views
1

我继承了一些Groovy代码,它看起来像使用v2 Google日历API构建的。它基本上是从日历中获取所有事件的列表并构建一个显示屏幕。此前,曾用网址,如:Google Calendar API活动地点

/full?alt=json&max-results=25&orderby=starttime&sortorder=ascending&futureevents=true&end-max=" + dateEnd 

我知道/完整的URL被弃用,因此我换成与/基础和提供私人URL到我的日历中的一个,所以它看起来像:

/basic?alt=json&max-results=25&orderby=starttime&sortorder=ascending&futureevents=true&end-max=" + dateEnd 

将数据返回。但是,在解析数据时,他们试图使用每个提要条目的gd $ where属性来获取每个事件的位置。据我所知,gd $ where属性现在仅在基准日历级别可用,并且我没有看到可用于取回事件位置的属性。

下面是他们目前拥有的代码的简短片段。

data.feed.entry.each{ event -> 

     def eventResponse = [ 
       title: '', 
       start: '', 
       end: '', 
       updated: '', 
       description: '', 
       location:'', 
       attendees: [] 
     ] 

     eventResponse.title = event.title.$t 
     eventResponse.description = event.content.$t 
     eventResponse.location = event.gd$where[0].valueString 
     eventResponse.start = event.gd$when[0].startTime 
     eventResponse.end = event.gd$when[0].endTime 
     eventResponse.updated = event.updated.$t 

我可以不再使用URL到日历来获取这些信息,或者我只是错过了一些东西吗?这是我第一次使用Google日历功能,所以我在这里完全是绿色的。

+0

请问您是如何解决问题的?我有类似的问题!试图让它与/ basic一起工作,但它失败(永远等待),我运行下面的代码: – 2015-06-16 10:38:28

+0

'new Event(start.new LocalDateTime(entry.getTimes()。get(0).getStartTime()。getValue ),))' – 2015-06-16 10:45:08

回答

0

您可能想要针对Google日历使用updated API进行调查。我之所以建议这是因为Event representation包含位置信息:

{ 
    "kind": "calendar#event", 
    "etag": etag, 
    "id": string, 
    "status": string, 
    "htmlLink": string, 
    "created": datetime, 
    "updated": datetime, 
    "summary": string, 
    "description": string, 
    "location": string, 
    ... 
} 
+0

我遇到了类似于OP的情况。似乎“位置”键是可选的,并且在事件创建时没有添加空位置。 – 2017-08-18 11:23:07