2011-04-04 18 views
11

Hola, soy capaz de autenticar y autorizar a un usuario con la API de JavaScript para el calendario de Google. Lo que quiero hacer a continuación es suscribir a ese usuario a un calendario público. Estaba pensando que sólo pudiera llamar al constructor google.gdata.calendar.CalendarEntry con el id del calendario, pero que no funcionó¿Cómo suscribirse mediante programación a un usuario a un calendario de google usando javascript?

var entry = google.gdata.calendar.CalendarEntry("idOfCalendar"); 

también probé la creación de una instancia de un identificador de entrada con google.gdata. atom.Id ("idOfCalendar"); y agregar eso al constructor de CalendarEntry. Usar los métodos establecidos tampoco funcionó.

uso el método InsertEntry para agregar la entrada, pero me sale el siguiente error

Error: Valid calendar id must be supplied for adding calendar to favorites list in allcalendars projection.

puedo acceder a los eventos de este calendario utilizando google.gdata.calendar.CalendarEventQuery()

El Google api para javascript no da muchos ejemplos. ¿Alguien sabe la respuesta a mi problema o un buen recurso para trabajar con la API de google api? ¿crees que debería usar php o jason en su lugar?

** Editar He encontrado un ejemplo de lo que quiero en la API de Java link así que traté

function addSubscriptionToCalendar() { 
    var feedUri = "http://www.google.com/calendar/feeds/default/allcalendars/full"; 
    var calendarEntry = new google.gdata.calendar.CalendarEntry(); 
    calendarEntry.setId("nhl_21_%54oronto+%4daple+%4ceafs#[email protected]"); 
    calendarService.insertEntry(feedUri, calendarEntry, function(){alert("calendar added")}, handleError); 
} 

pero tengo el mismo error

Respuesta

2

Debería utilizar owncalendars alimentación de modificar/añadir una entrada de calendario para el usuario autenticado no allcalendars.

1

suena como su ID de calendario no es válido. La identificación de su segundo ejemplo parece ser URL codificada. Trate de usar el valor decodificado:

nhl_21_Toronto Maple Leafs#[email protected]

Cuestiones relacionadas