Hey, For my site I'm using the calendar api to format all events into a nice list. Nothing really fancy.
As I'm using the mootools library I figured it would be if I could put all my google calendar functionality into a class. Unfortunately after restructuring the code this way I can no longer get the eventsfeed. I get the following error when the line "this.googleService.getEventsFeed(futureEventsQuery, this.handleFeed, this.handleError);" is executed : XML tag name mismatch (expected meta) http://www.google.com/uds/api/gdata/1.6/ade37c0dee097720d54a5070af58d559/core,finance,contacts,calendar,blogger,default.I.js Line 96 Can I use the api from within a mootools class, or should I just reverse back to calling all the calendar api related stuff from the main function? Here's the code for the class: var googleCalendar = new Class({ Implements: [Options, Events], options: { calendarFeedUrl: "http://www.google.com/calendar/feeds/ [email protected]/public/full", }, initialize: function(options){ this.setOptions(options); this.getCalendarFeed(); }, calendarFeedUrl: "", googleService: "ieps", entries: [], getCalendarFeed: function(){ google.gdata.client.init(this.handleInitError); this.googleService = new google.gdata.calendar.CalendarService ('exodub-exodub_calendar-1.0'); var futureEventsQuery = new google.gdata.calendar.CalendarEventQuery (this.calendarFeedUrl); futureEventsQuery.setFutureEvents(); this.googleService.getEventsFeed(futureEventsQuery, this.handleFeed, this.handleError); }, handleFeed: function(calendarFeed){ alert("yes"); this.entries = calendarFeed; }, handleError: function(e){ alert("An error occured!"); alert(e.cause ? e.cause.statusText : e.message); }, createEventTable: function(table){ alert((this.entries)[0].getTitle().getText()); for (var i = 0; i < (this.entries).length; i++){ var eventEntry = this.entries[i]; alert(eventEntry.getTitle().getText()); var newHTMLRow = document.createElement('tr'); HTMLContent = (eventEntry.getTimes())[0].getStartTime().getDate ().toDateString(); this.addTableElement(newHTMLRow, HTMLContent); HTMLContent = eventEntry.getTitle().getText(); this.addTableElement(newHTMLRow, HTMLContent); HTMLContent = HTMLcontent = (eventEntry.getLocations()) [0].getValueString(); this.addTableElement(newHTMLRow, HTMLContent); table.appendChild(newHTMLRow); } }, addTableElement: function(row,content){ item = document.createElement('td'); item.innerHTML = content; item.setStyle('visibility','hidden'); row.addChild(item); }, handleInitError: function(e){ //Do nothing }, }); In the main function (which is called after domready), I instantiate the class and call googleCalendarInstance.createEventTable($('gigs_go_here')); but it already goes wrong during the instantiation. Thanks already Kyran --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Calendar Data API" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-calendar-help-dataapi?hl=en -~----------~----~----~----~------~----~------~--~---
