2009-12-31 1 views

Répondre

2

Pour mettre à jour tout ce que vous venez de modifier les propriétés pertinentes pour l'événement, en laissant intactes les chaînes d'exception de récurrence et de récurrence. Vous n'êtes pas sûr de pouvoir facilement modifier un sous-ensemble, car cela nécessiterait de convertir l'événement récurrent en plusieurs nouveaux événements en fonction du sous-ensemble.

Pour la deuxième partie ou de la question, en fonction de l'API documents:

Plus précisément, chaque événement récurrent est représenté par un élément dans la charge de résultat, et chaque de ces éléments comprend un élément pour chaque occurrence de cet événement qui se situe entre le début et l'heure de fin. En regardant éléments est beaucoup plus simple que les récurrences d'analyse et exceptions vous-même.

Cependant, je ne l'ai jamais été en mesure de constater que la magie « quand » ... donc j'ai fini par l'analyse syntaxique des chaînes de récurrence et recurrenceexceptions - si vous trouvez la réponse à cette question, laissez-nous le savons tous !

3

Pour tous ceux qui ont ce problème, j'ai aussi passé du temps à essayer de comprendre cela. Fondamentalement, lorsque vous obtenez votre liste CalendarEventEntry, vous devez vérifier chaque calendarEventEntry s'il a un originalEvent (calendarEventEntry.getOriginalEvent()). Cela vous indique essentiellement qu'il existe un autre événement (que vous pouvez ou non avoir déjà traité) qui doit être échangé avec les informations de l'agenda en cours.

6

Si vous souhaitez mettre à jour un sous-ensemble d'événements récurrents, vous devez définir singleevents = true lors de l'exécution de votre requête pour récupérer la liste initiale des événements. En PHP, vous feriez quelque chose comme ça

$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('true'); //get recurring events as a series of single events 
    $eventFeed = $gdataCal->getCalendarEventFeed($query); 

    foreach ($eventFeed as $event) { 
    //do stuff with $event 
    } 
4

J'ai essayé de mettre à jour tout événement se reproduise, il est working.Initially je créé un événement récurrent comme l'hebdomadaire le lundi de 25/02/2016 à 2016-03 25 et Il est créé 6 instances pour cette période récurrente.Pendant mise à jour ce que j'ai essayé est,

1. D'abord j'ai affecté au champ de récurrence, "récurrence": ["RRULE: FREQ = HEBDO; COUNT = 18; BYDAY = TU "] (Mise à jour comme hebdomadaire le mardi)

2.after que je récupère des listes disponibles en utilisant la liste google api.ici j'ai utilisé Single Events: false (dans le sens où mal ne donner que principal événement récurrent ne sont pas tous les cas)

3.Après je événement mise à jour pour mettre à jour comme en passant auth, eventId et calendarId: « primaire » et des ressources: tableau d'événements mis à jour

il est fait .It met à jour les instances comme Weekly le mardi.

J'espère que cela va aider quelqu'un.

Questions connexes