Hi cosmo,

This turned out to be a lot harder than I thought.  After some digging
I found a couple links [1-2] but I wasn't satisfied  so I put together
some sample code in Java.  I know you're working in PHP, but you
should be able to get the general idea.

The sample code below implements the following process:
1) Create a recurring event entry and insert it.
2) Create a new single event entry that will be the modified instance.
3) To this single event, add a <gd:originalEvent> element with the id
of the recurring event and the start time of the instance of the
recurring event that you want to modify.
4) Modify the elements of the single event as desired (the sample code
just sets a new start/end time).
5) Insert the single event.

When you get this working in PHP, I'd love to see the code.  Let me
know if you have questions along the way.

Cheers,
Lane


[1] http://code.google.com/support/bin/answer.py?answer=64266&topic=10365
[2] 
http://groups.google.com/group/google-calendar-help-dataapi/browse_frm/thread/a2d74fc0f0402e5d/fc09c05cf5784046


Java sample code:

    // Create a recurring event to work with
    CalendarEventEntry recurringEvent = new CalendarEventEntry();
    recurringEvent.setTitle(new
PlainTextConstruct("recurrenceException example"));
    String recurStr = "DTSTART;TZID=America/Los_Angeles:
20070826T060000\r\n"
        + "DTEND;TZID=America/Los_Angeles:20070826T070000\r\n"
        + "RRULE:FREQ=DAILY;UNTIL=20070831T130000Z\r\n"
        + "BEGIN:VTIMEZONE\r\n" + "TZID:America/Los_Angeles\r\n"
        + "X-LIC-LOCATION:America/Los_Angeles\r\n" + "BEGIN:DAYLIGHT\r
\n"
        + "TZOFFSETFROM:-0800\r\n" + "TZOFFSETTO:-0700\r\n" +
"TZNAME:PDT\r\n"
        + "DTSTART:19700308T020000\r\n"
        + "RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\r\n" + "END:DAYLIGHT\r
\n"
        + "BEGIN:STANDARD\r\n" + "TZOFFSETFROM:-0700\r\n"
        + "TZOFFSETTO:-0800\r\n" + "TZNAME:PST\r\n"
        + "DTSTART:19701101T020000\r\n"
        + "RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\r\n" + "END:STANDARD
\r\n"
        + "END:VTIMEZONE";
    Recurrence recur = new Recurrence();
    recur.setValue(recurStr);
    recurringEvent.setRecurrence(recur);
    recurringEvent = service.insert(new
URL(PRIVATE_EVENT_FEED_LOCATION),
        recurringEvent);

    // To create an exception, create a new entry, add an
originalEvent element
    // to specify the recurring event to modify, and add a when
element to
    // specify the time of the exception.  Then POST the new entry.
    CalendarEventEntry exceptionEntry = new CalendarEventEntry();

    // Specify the instance of the recurring event to change by
setting the
    // the startTime of the originalEvent.
    OriginalEvent originalEvent = new OriginalEvent();
    String urlId = recurringEvent.getId();
    originalEvent.setOriginalId(urlId.substring(urlId.lastIndexOf('/')
+ 1));
    When originalWhen = new When();
    originalWhen.setStartTime(DateTime
        .parseDateTime("2007-08-28T06:00:00.000-07:00"));
    originalEvent.setOriginalStartTime(originalWhen);
    exceptionEntry.setOriginalEvent(originalEvent);

    // Specify the new time for the instance we're changing
    When when = new When();
 
when.setStartTime(DateTime.parseDateTime("2007-08-28T11:00:00.000-07:00"));
 
when.setEndTime(DateTime.parseDateTime("2007-08-28T12:00:00.000-07:00"));
    exceptionEntry.addTime(when);

    // POST the new exception entry
    service.insert(new URL(PRIVATE_EVENT_FEED_LOCATION),
exceptionEntry);



On Aug 23, 11:26 am, cosmo <[EMAIL PROTECTED]> wrote:
> I have a set of recurring events, and I want to change the title of
> _one_ of the events in the series.
> How can I do this?
> I'm using Zend_GData with PHP.
> When I try to save an event in the series after changing its title, I
> get a "409 Conflict" response.
> Please help.


--~--~---------~--~----~------------~-------~--~----~
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