var calendarUrl = 'http://www.google.com/calendar/feeds/
[EMAIL PROTECTED]/public/full';

Here is the full code I'm using for getting the Google data. Maybe
it'll help.  I am so appreciative.  Thanks:



<!-- Scripts for Google Calendar -->
<script type="text/javascript" src="http://www.google.com/jsapi?
key=ABQIAAAAuNSaa1AxpUwLQhcIE9YqgBQgCt9JjK4BaBX97-8b90ftWl1DexQbWCLHzcUjdELlx5VwP6YkS6Uf1w"></
script>

<script type="text/javascript">

<!--/* Loads the Google data JavaScript client library */
google.load("gdata", "1");function init() {
        // init the Google data JS client library with an error handler
        google.gdata.client.init(handleGDError);
        // load the code.google.com developer calendar
        loadDeveloperCalendar();
}
/** * Loads the Google Developers Event Calendar */
function loadDeveloperCalendar() {
loadCalendarByAddress('[EMAIL PROTECTED]');
}
/** * Adds a leading zero to a single-digit number.  Used for
displaying dates. */
function padNumber(num) {
        if (num <= 9) {
                return "0" + num;
        }
        return num;
}
/** * Determines the full calendarUrl based upon the calendarAddress *
argument and calls loadCalendar with the calendarUrl value. * * @param
{string} calendarAddress is the email-style address for the calendar
*/
function loadCalendarByAddress(calendarAddress) {
        var calendarUrl = 'http://www.google.com/calendar/feeds/' +
calendarAddress + '/public/full';  loadCalendar(calendarUrl);
}
/** * Uses Google data JS client library to retrieve a calendar feed
from the specified * URL.  The feed is controlled by several query
parameters and a callback  * function is called to process the feed
results. * * @param {string} calendarUrl is the URL for a public
calendar feed */
function loadCalendar(calendarUrl) {
        var service = new
        google.gdata.calendar.CalendarService('gdata-js-client-samples-
simple');
        var query = new
google.gdata.calendar.CalendarEventQuery(calendarUrl);
        query.setOrderBy('starttime');
        query.setSingleEvents(true);
        service.getEventsFeed(query, listEvents, handleGDError);
}
/** * Callback function for the Google data JS client library to call
when an error * occurs during the retrieval of the feed.  Details
available depend partly * on the web browser, but this shows a few
basic examples. In the case of * a privileged environment using
ClientLogin authentication, there may also * be an e.type attribute in
some cases. * * @param {Error} e is an instance of an Error  */
function handleGDError(e) {
        document.getElementById('jsSourceFinal').setAttribute('style',
'display:none');
        if (e instanceof Error) {
                /* alert with the error line number, file and message */
                alert('Error at line ' + e.lineNumber + ' in ' + e.fileName + 
'\n' +
'Message: ' + e.message);
                /* if available, output HTTP error code and status text */
                if (e.cause) {
                        var status = e.cause.status;
                        var statusText = e.cause.statusText;
                        alert('Root cause: HTTP error ' + status + ' with 
status text of: '
+ statusText);
                }
        }
        else {    alert(e.toString());  }
}
/** * Callback function for the Google data JS client library to call
with a feed  * of events retrieved. * * Creates an unordered list of
events in a human-readable form.  This list of * events is added into
a div called 'events'.  The title for the calendar is * placed in a
div called 'calendarTitle' * * @param {json} feedRoot is the root of
the feed, containing all entries  */
function listEvents(feedRoot) {
        var entries = feedRoot.feed.getEntries();
        var len = entries.length;
        //We then determine how many days are in the current month using PHP
        var limit = 32;


  for (var n = 1; n < limit; n++){

        var e = String(n);
        var eventDiv = document.getElementById(e);
        if (eventDiv.childNodes.length > 0) {
                eventDiv.removeChild(eventDiv.childNodes[0]);
        }
        /* create a new unordered list */
        var ul = document.createElement('ul');

        /* set the calendarTitle div with the name of the calendar
        document.getElementById('calendarTitle').innerHTML = "Calendar: " +
feedRoot.feed.title.$t;  */

        /* loop through each event in the feed */
        for (var i = 0; i < len; i++) {
                var entry = entries[i];
                var title = entry.getTitle().getText();
                //var locations = entry.getLocations()[i].getValueString();
                var startDateTime = null;
                var startJSDate = null;
                var times = entry.getTimes();
                if (times.length > 0) {
                        startDateTime = times[0].getStartTime();
                        startJSDate = startDateTime.getDate();
                }
                var entryLinkHref = null;
                if (entry.getHtmlLink() != null) {
                        entryLinkHref = entry.getHtmlLink().getHref();
                }
                var dateString = "";


                //Get the month using PHP
                                var f = 3;
                               /* If the month that the user would
like to see and the month that the event occurs in are the same, write
out content */
                if (f == (startJSDate.getMonth() + 1)){

                  /* If the date that we're on in the loop and the date that the
event occurs in are the same, write out content */
                  if (e == startJSDate.getDate()){
                    /* Create a list element */
                        var li = document.createElement('li');
                        if (!startDateTime.isDateOnly()) {
                                <!-- Format to include AM/PM -->
                                var a_p = "";
                                var eventStart = startJSDate.getHours();
                                if(eventStart < 12){
                                        a_p = "AM";
                                }
                                else{
                                        a_p = "PM";
                                }
                                if (eventStart == 0){
                                        eventStart = 12;
                                }
                                if (eventStart > 12){
                                        eventStart = eventStart - 12;
                                }
                                dateString += eventStart + ":" +
padNumber(startJSDate.getMinutes()) + " " + a_p;
                        }

                        /* if we have a link to the event, create an 'a' 
element */
                        if (entryLinkHref != null) {
                                entryLink = document.createElement('a');
                                entryLink.setAttribute('href', entryLinkHref);
                                entryLink.setAttribute('target', '_blank');
                                entryLink.setAttribute('className', 'event');
                                
entryLink.appendChild(document.createTextNode(title));
                                
entryLink.appendChild(document.createElement('br'));
                                /*if (locations != null){
                                entryLink.appendChild(document.createTextNode(' 
[ ' + dateString +
' - ' + locations + ' ] '));
                                }else {*/
                                entryLink.appendChild(document.createTextNode(' 
[ ' + dateString +
' ] '));
                                //}
                                li.appendChild(entryLink);
                        }
                        else {
                                li.appendChild(document.createTextNode(title + 
' - ' +
dateString));
                        }
                    /* append the list item onto the unordered list */
                    ul.appendChild(li);
                        var cid = n + 100;
                        var cellID = String(cid);
                        document.getElementById(cellID).className = 
"fulleventcell";
                        document.getElementById(cellID).style.cursor = 
"pointer";
                  }
                }

        }//End the for loop for each event

        ul.setAttribute('className','events');
        eventDiv.appendChild(ul);

  }//End the for loop for each day of the month
}
google.setOnLoadCallback(init);
//-->

</script>

<script type="text/javascript">
loadCalendar('http://www.google.com/calendar/feeds/
[EMAIL PROTECTED]/public/full');
</script>




On Mar 25, 6:04 pm, "Austin (Google)" <[EMAIL PROTECTED]> wrote:
> Hi,
>
> Setting the orderby and singleevents param should retrieve future events as
> well, hmm, I am not sure why you are not getting future events.  what is the
> calendarUrl you are using?
>
> Thanks,
> Austin
>
> On Mon, Mar 24, 2008 at 9:27 AM, CreativeLlama <[EMAIL PROTECTED]>
> wrote:
>
>
>
>
>
> > I'm trying to load ALL the Google calendar events into the calendar on
> > my site.  The following code only displays events for this month and
> > the future, not all the events:
>
> > function loadCalendar(calendarUrl) {
> >        var service = new
> >        google.gdata.calendar.CalendarService('gdata-js-client-samples-
> > simple');
> >        var query = new
> > google.gdata.calendar.CalendarEventQuery(calendarUrl);
> >        query.setOrderBy('starttime');
> >        query.setSingleEvents(true);
> >        service.getEventsFeed(query, listEvents, handleGDError);
> > }
>
> > Also, I would like to order the events ascending, but if I add in the
> > line "query.setSortOrder('ascending');", then it gives me all the
> > events in the past.
>
> > Any suggestions?
>
> > Thanks.- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to