Hi Richard, What is the URL you are using to submit your PUT request? It should be the URL specified in the <link rel='edit' ...> element, it should look something like this -
http://www.google.com/calendar/feeds/default/private/full/907af0s3s1neqhqg2njm30t3l4/63329359420 Notice there is a version # appended to the end of this URL, appended after the event ID. Austin On Oct 29, 6:12 am, "Richard Quintin" <[EMAIL PROTECTED]> wrote: > I'm not hard coding the id. I fetch the event from google calendar, > check to see if it has the extended property and if not attempt to add > it. Doesn't seem like it would go stale that quickly.. > > Thanks again! > > On 10/26/07, Austin (Google) <[EMAIL PROTECTED]> wrote: > > > > > > > > > Hi Richard, > > > Since you are getting the The VersionConflictException which implies > > that you are trying to update an event which version ID is stale. Are > > you hardcoding the event ID in your code? You should try to retrieve a > > fresh event just before you use it for modification to ensure that > > version is not stale. > > > Hope it helps, > > Austin > > > On Oct 26, 11:54 am, "Richard Quintin" <[EMAIL PROTECTED]> wrote: > > > Thanks for your response. I'm using 1.14.1. setVal was a typo in my > > > email. I actually am using setValue. > > > > To avoid further confusion, here is the actual code. A call is made > > > to setAlertTime() and when alertTime does not exist for the entry, it > > > is added. It is on the call to entry.update() that the failure > > > occurs. Note that the extended property _does_ get added. It just > > > throws VersionConflictException in the process. > > > > private CalendarEventEntry entry; > > > private ExtendedProperty alertTime = null; > > > > public void setAlertTime(long timeInMillis) { > > > if (alertTime == null) { > > > alertTime = addProperty(ALERT_TIME, > > > Long.toString(timeInMillis)); > > > } else { > > > alertTime.setValue(Long.toString(timeInMillis)); > > > update(); > > > } > > > } > > > private ExtendedProperty addProperty(String name, String > > > initialValue) { > > > ExtendedProperty retVal = new ExtendedProperty(); > > > retVal.setName(propName(name)); > > > retVal.setValue(initialValue); > > > logger.info("Adding event extended property '" + name + > > > "' for '" + > > > title + "'"); > > > entry.addExtendedProperty(retVal); > > > update(); > > > return retVal; > > > } > > > private void update() { > > > try { > > > entry.update(); > > > } catch (IOException e) { > > > e.printStackTrace(); > > > } catch (ServiceException e) { > > > e.printStackTrace(); > > > } > > > } > > > > Again, thanks for your help! > > > > On 10/26/07, Austin (Google) <[EMAIL PROTECTED]> wrote: > > > > > Hi Richard, > > > > > Which version of the GData Java Client Library are you using? I > > > > noticed that you are using "setVal()" instead of "setValue()" which is > > > > in the latest 1.14 version of the Java Client Library. You may > > > > download the latest jar from here: > > > > >http://code.google.com/p/gdata-java-client/downloads/list > > > > > Hope it helps, > > > > Austin > > > > > On Oct 26, 5:41 am, "Richard Quintin" <[EMAIL PROTECTED]> wrote: > > > > > Hi all, > > > > > > I'm playing around with the API trying to create an event notification > > > > > application. (I can't believe this hasn't been written yet! :) > > > > > > Anyway when I execute code to add a property to an event I get a > > > > > VersionConflictException. The documentation on this exception isn't > > > > > very revealing (at least to me). Does anyone have any ideas what I > > > > > might be doing wrong? > > > > > > Thanks for any and all help! > > > > > > Here is (essentially) the code I'm executing: > > > > > > private ExtendedProperty alertTime = new ExtendedProperty(); > > > > > alertTime.setName("GAlert! alert time"; > > > > > alertTime.setVal(Long.toString(Calendar.getInstance().timeInMillis())); > > > > > // entry is an existing CalendarEventEntry > > > > > entry.addExtendedProperty(alertTime); > > > > > entry.update(); > > > > > > Here is a sample exception stack: > > > > > com.google.gdata.util.VersionConflictException: Conflict > > > > > <?xml version='1.0' encoding='UTF-8'?><entry > > > > > xmlns='http://www.w3.org/2005/Atom' > > > > > xmlns:batch='http://schemas.google.com/gdata/batch' > > > > > xmlns:gCal='http://schemas.google.com/gCal/2005' > > > > > xmlns:gd='http://schemas.google.com/g/2005'><id>http://www.google.com/calendar/feeds/richardjq%40gmail.com/private/fu...</id><published>2007-10-26T12:23:53.000Z</published><updated>2007-10-26T12:29:53.000Z</updated><category > > > > > scheme='http://schemas.google.com/g/2005#kind' > > > > > term='http://schemas.google.com/g/2005#event'/><title > > > > > type='text'>test</title><content type='text'></content><link > > > > > rel='alternate' type='text/html' > > > > > href='http://www.google.com/calendar/event?eid=MDVja3ZldGxqYmtvaW0zcWRqaGs3... > > > > > title='alternate'/><link rel='self' type='application/atom+xml' > > > > > href='http://www.google.com/calendar/feeds/richardjq%40gmail.com/private/fu...><link > > > > > rel='edit' type='application/atom+xml' > > > > > href='http://www.google.com/calendar/feeds/richardjq%40gmail.com/private/fu...><author><name>Richard > > > > > Quintin</name><email>[EMAIL > > > > > PROTECTED]</email></author><gd:comments><gd:feedLink > > > > > href='http://www.google.com/calendar/feeds/richardjq%40gmail.com/private/fu...></gd:comments><gd:eventStatus > > > > > value='http://schemas.google.com/g/2005#event.confirmed'/><gd:visibility > > > > > value='http://schemas.google.com/g/2005#event.default'/><gd:transparency > > > > > value='http://schemas.google.com/g/2005#event.opaque'/><gCal:uid > > > > > value='[EMAIL PROTECTED]'/><gCal:sequence > > > > > value='0'/><gd:when startTime='2007-10-26T14:00:00.000-04:00' > > > > > endTime='2007-10-26T15:00:00.000-04:00'/><gd:who > > > > > rel='http://schemas.google.com/g/2005#event.organizer' > > > > > valueString='Richard Quintin' > > > > > email='[EMAIL PROTECTED]'/><gd:where/><gd:extendedProperty > > > > > name='GAlert! notified' value='NO'/><gd:extendedProperty name='GAlert! > > > > > alert time' value='1193421000000'/></entry> > > > > > > at > > > > > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(Unknown > > > > > Source) > > > > > at > > > > > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(Unknown > > > > > Source) > > > > > at > > > > > com.google.gdata.client.http.HttpGDataRequest.checkResponse(Unknown > > > > > Source) > > > > > at > > > > > com.google.gdata.client.http.HttpGDataRequest.execute(Unknown Source) > > > > > at > > > > > com.google.gdata.client.http.GoogleGDataRequest.execute(Unknown > > > > > Source) > > > > > at com.google.gdata.client.Service.update(Unknown Source) > > > > > at com.google.gdata.client.GoogleService.update(Unknown > > > > > Source) > > > > > at com.google.gdata.data.BaseEntry.update(Unknown Source) > > > > > at edu.vt.dbms.galert.model.GEvent.update(GEvent.java:141) > > > > > at > > > > > edu.vt.dbms.galert.model.GEvent.setAlertTime(GEvent.java:195) > > > > > at > > > > > edu.vt.dbms.galert.model.GEvent.getProperties(GEvent.java:70) > > > > > at edu.vt.dbms.galert.model.GEvent.<init>(GEvent.java:47) > > > > > at > > > > > edu.vt.dbms.galert.model.GCalendar.fetchEvents(GCalendar.java:117) > > > > > at > > > > > edu.vt.dbms.galert.model.GCalArrayList.fetchAllEvents(GCalArrayList.java:97) > > > > > at > > > > > edu.vt.dbms.galert.controller.GAlert.getEvents(GAlert.java:116) > > > > > at > > > > > edu.vt.dbms.galert.controller.GAlert.getTodaysEvents(GAlert.java:105) > > > > > at > > > > > edu.vt.dbms.galert.view.DataPanel.refreshCalendars(DataPanel.java:95) > > > > > at > > > > > edu.vt.dbms.galert.view.DataPanel$1.actionPerformed(DataPanel.java:38) > > > > > at javax.swing.Timer.fireActionPerformed(Timer.java:271) > > > > > at javax.swing.Timer$DoPostEvent.run(Timer.java:201) > > > > > at > > > > > java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) > > > > > at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) > > > > > at > > > > > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) > > > > > at > > > > > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) > > > > > at > > > > > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) > > > > > at > > > > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) > > > > > at > > > > > java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) > > > > > at > > > > > java.awt.EventDispatchThread.run(EventDispatchThread.java:121) > > > > > -- > > > > > Richard Quintin, DBA > > > > > Database & Application Administration > > > > > Virginia Tech > > > > -- > > > Richard Quintin, DBA > > > Database & Application Administration > > > Virginia Tech- Hide quoted text - > > > > - Show quoted text - > > -- > Richard Quintin, DBA > Database & Application Administration > Virginia Tech- 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 -~----------~----~----~----~------~----~------~--~---
