2012-02-23 13 views
5

He intentado hacer Google esta pregunta, pero no he tenido suerte, tal vez debido a que la cadena de búsqueda "Z" no es lo suficientemente específica.Google Calendar Gdata antiguo evento recurrente evento eliminado que todavía se muestra con un EventID que termina en Z

Antecedentes:
Uso del calendario biblioteca gdata Google Zend, y han estado utilizando código simple a la lista de eventos para un período de tiempo específico. En este caso, 27-02-2012 a 03-03-2012. Tuve una serie de eventos individuales en la lista, con un evento recurrente, titulado "Rob", lunes a viernes por semana.
Estoy usando el código básico sin adiciones de lujo. sin embargo :)

Problema:
cuando utilicé el parámetro $query->setSingleEvents(TRUE), todo funcionaba como se esperaba, y mostró los eventos correctos.

Cuando hablo de 'mostrar' eventos, estoy hablando de la página PHP que está usando Zend gdata para mostrar los eventos del calendario.
En todas las situaciones, el Calendario GUI Google está mostrando los datos correctos (es decir. El evento 'Rob' no se muestra, ya que se ha eliminado.

Pero cuando me puse esto a FALSE, el evento recurrente "Rob ", deben tener tiempos de inicio que están destinados a ser agrupados, pero en su lugar, se muestran algunos eventos aleatorios adicionales sin un starttime, el mismo título. Incluso una vez que he eliminado el evento recurrente, todavía se muestra en los datos devueltos por gdata.

observación interesante
eventId para el evento que se ha eliminado, pero sigue siendo que se muestra en la página termina con "Z". Tiene las eventID habituales seguidas por: _20120302T030000Z

Mi pregunta
Este evento se ha eliminado en Google Calendar interfaz gráfica de usuario. ¿Por qué gdata sigue mostrando un evento que se elimina y qué significa el evento que finaliza con una marca de tiempo y Z?

intentos Resolución:
1. trató de cambiar su repetición evento para un evento normal (la eliminación de la recurrencia 'para todos los eventos de la serie'
sin suerte, siendo los extras enumeran
2. borrados. el evento se repite por completo para todos los eventos de la serie.
Esto demostró una vez más los resultados correctos en SingleEvents(TRUE), pero en FALSE, todavía se muestra el antiguo evento 'Rob', cuando ha sido completamente eliminado del calendario.

Código:

function outputCalendarByDateRange($client, $startDate='2012-02-27', 
            $endDate='2012-03-03') 
{ 
    $gdataCal = new Zend_Gdata_Calendar($client); 
    $query = $gdataCal->newEventQuery(); 
    $query->setUser('default'); 
    $query->setVisibility('private'); 
    $query->setProjection('full'); 
    $query->setOrderby('starttime'); 
    $query->setStartMin($startDate); 
    $query->setStartMax($endDate); 
    $query->setSingleEvents(FALSE); 
    $eventFeed = $gdataCal->getCalendarEventFeed($query); 

    foreach ($eventFeed as $event) { 
    echo "Title: " . $event->title->text . "<br />"; 
    echo "Event ID: " . $event->id->text . "<br />"; 
    foreach ($event->when as $when) { 
     echo "Start: " . $when->startTime . "<br />"; 
    } 
    echo "<br />"; 
    } 
} 
+0

¿Ha intentado verificar el estado del evento, como aquí ?: http://stackoverflow.com/questions/25849 78/google-calendar-feed-api-deleted-events – Ashley

+0

Casi suena como que algo está siendo guardado en caché ... –

Respuesta

2

Esto es lo que he encontrado en el docs:

36.5.6.Eliminación de eventos Los eventos de calendario se pueden eliminar llamando al método delete() del servicio de calendario y proporcionando la URL edit de un evento o llamando al método delete() de un evento existente.

En cualquier caso, el evento eliminado seguirá apareciendo en el feed de evento privado de un usuario si se proporciona un parámetro de consulta updateMin. borradas pueden distinguirse de los eventos regulares porque tendrán su propiedad eventStatus establece a "http://schemas.google.com/g/2005#event.canceled".

parece que tendrá que probar el estado del evento cuando analiza su alimentación.

cierto la marca de tiempo se descompone en

año: 2012 día: 03 mes: 02 horas de tiempo: T: minutos: segundos 03:00:00 Zulu: Z

Zulu es lo mismo que GMT (Hora del meridiano de Greenwich) o UTC (Código de hora universal)

+0

Solo para decirlo, nunca volví a esto para agradecerles a todos por sus respuestas. Fue hace tanto tiempo que ni siquiera recuerdo cómo resolví el problema. Además, la razón por la que no sabía sobre las respuestas era porque no marcaba la casilla y me enviaba por correo electrónico las respuestas a mi cuenta de correo electrónico. De todos modos, no me gusta pedir ayuda, entonces no la sigo, ¡así que disculpas! – redfox05

Cuestiones relacionadas