Я работал с JSON API Календаря Google, и пока он работает нормально.Моя единственная проблема в том, что это не все события, а только некоторые из них без видимой причины.
Вот код, который я использую:
$.getJSON("http://www.google.com/calendar/feeds/weimar.org_cnijr5sa383f7kl28eu63996ec%40group.calendar.google.com/public/full?alt=json-in-script&max-results=25&singleevents=false&futureevents=true&sortorder=ascending&orderby=starttime&callback=?",
function(json){
var html = '<ul id="event_feed">';
$.each(json.feed.entry,function(i,entry) {
html += '<li><h3><span class="event_month">' + $.format.date(entry['gd$when'][0].startTime + ' 00:00:00.000', "MMM") + '</span><span class="event_day">' + $.format.date(entry['gd$when'][0].startTime + ' 00:00:00.000', "dd") + '</span></h3><p>' + entry.title.$t + '<br /></p><div class="clear"></div></li>';
})
html += '</ul>';
$('#calendar').html(html);
});
Вы можете видеть, что выводит JSON, по сравнению с виджетом календаря (под выводом JSON).
http://weimar.edu/news/calendarapi Например, отображается только один «учебный день».