2015-03-02 3 views
1

Я унаследовал некоторый код Groovy, который выглядит так, как будто он был создан с использованием API календаря Google v2. По сути, он получает список всех событий из календаря и создает экран дисплея. Ранее он использовал URL, как:Место события API календаря Google

/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 $, где каждый атрибут подает запись. Насколько я могу судить, атрибут 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, но он терпит неудачу (навсегда ожидает), я запускаю следующий код: –

+0

'new Событие (начало: новое LocalDateTime (entry.getTimes(). get (0) .getStartTime(). getValue (),)) ' –

ответ

0

Возможно, вам потребуется изучить с помощью updated API для Календари Google. Причина в том, что я предлагаю это, потому что 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. Кажется, ключ 'location' является необязательным и не добавляется, когда событие создается с пустым местом. –

Смежные вопросы