Non ho potuto provare, ma...
codice:
function loadEvents()
{
    var xmlhttp = new XMLHttpRequest();
    var url = "http://www.google.com/calendar/feeds/9tr6da5iqn6aqtlp7k59dcpg30%40group.calendar.google.com/public/full";
    xmlhttp.onreadystatechange = onReady;
    xmlhttp.open("GET", url, true);
    xmlhttp.send(null);
    function onReady() {
        var dom, entries, gdNamespace, entry, entryTitle, entryStartDate, entryEndDate, container, html, i;
        if (xmlhttp.readyState == 4){
            if (xmlhttp.status == 200) {
                dom = xmlhttp.responseXML;
                entries = dom.getElementsByTagName("entry");
                gdNamespace = "http://schemas.google.com/g/2005";
                html = "";
                for (i=0; i<entries.length;i++) {
                    entry = entries[i];
                    entryTitle = entry.getElementsByTagName("title")[0].textContent;
                    entryStartDate = entry.getElementsByTagNameNS(gdNamespace,"when")[0].getAttribute("startTime");
                    entryEndDate = entry.getElementsByTagNameNS(gdNamespace,"when")[0].getAttribute("endTime");
                    container = document.getElementById("container");
                    html += "

Nome evento: "+entryTitle+"
Orario inizio: "+entryStartDate+"
Orario fine: "+entryEndDate+"</p>";
                }
                container.innerHTML = html;
            }
            else {
                container = document.getElementById("container");
                html = "

Impossibile acquisire il feed, errore: "+req.statusText+"</p>";
                container.innerHTML = html;
            }
        }
    }
}
Dacci una prove!
HTH
Zappa