API данных Google Javascript для календаря - время событий недоступно - PullRequest
1 голос
/ 06 октября 2009

Я бы хотел использовать API gdata для получения некоторых записей о событиях из общедоступной календарной ленты. Вот код, который я использую:

var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');

var feedUri = 'http://www.google.com/calendar/feeds/.../public/basic';
var gquery = new google.gdata.calendar.CalendarEventQuery(feedUri);

gquery.setFutureEvents(true);
gquery.setMaxResults(10);

var callback = function(result) {       
    var entries = result.feed.entry;    
    for (var i = 0; i < entries.length; i++ ) {
      var entry = entries[i];
      var title = entry.getTitle().getText();
      var times = entry.getTimes();
      alert("Title: " + title + " | Times: " + times);
    }    
}
calendarService.getEventsFeed(gquery, callback);  

(URI канала - это общедоступный (или частный) XML-канал для Календаря Служб Google)

Я ожидал найти время события в раз , но это пустой массив. Что в некоторой степени логично, потому что фактическая подача в feedUri не содержит никакой временной информации.

Вопросы:

  • Что я делаю не так? Как получить записи календаря, которые включают в себя время события?
  • Почему существует метод getTimes (), если он совершенно бесполезен?

1 Ответ

3 голосов
/ 06 октября 2009

РЕДАКТИРОВАТЬ: я только что видел, что вы используете "основной" канал - вы пробовали вместо "полный" канал? Описание основного корма:

Базовая подача Atom без расширения элементы. Его и свойства содержат предварительно обработанный HTML.

Кроме того, вам необходимо знать об отдельных событиях и повторяющихся событиях. Информация о повторяющихся событиях доступна через getRecurrence(). Для отдельных событий getTimes() даст правильную информацию.

Если вы не видите информацию через API, попробуйте просмотреть исходные данные напрямую и посмотреть, можете ли вы увидеть их там.

...