Event Edit URLs: Another thing I was having trouble with but was able to solve (I emailed Austin directly--perhaps I should have posted a new topic) was getting the proper edit url for updates, reminders, etc. via event.GetEditLink().href It seems this is a recurring theme and very important to be able to do antying useful after a query (update, delete, remind, etc.) I was having trouble getting the event object by id via a private function and getting Invalid URI errors. It turned out that I had the event instantiation was somehow wrong. This is what I changed and it now works:
The event id would be something like: http://www.google.com/calendar/feeds/default/private/full/bjf2smarg7kqpfuqoi9q1ktc1c and returned from a previous query. #event = self.aerioGetEventById(reusableToken, eventId) # THIS CALLS THE FUNCTION BELOW BUT DOES NOT WORK event = calendar_service.GetCalendarEventEntry(eventId) # THIS DOES WORK def aerioGetEventById(self,reusableToken,eventId): """ This ain't working!!!""" try: logging.debug('aerioGetEventById-event id: %s' % eventId ) calendar_service = self.__getCalendarServiceObject(reusableToken) feed = calendar_service.GetCalendarEventFeed() for i, an_event in zip(xrange(len(feed.entry)), feed.entry): if(an_event.id.text==eventId): return an_event except gdata.service.RequestError, request_error: # They aren't logged in? if request_error[0]['status'] == 401: logging.error('aerioGetEventById-401 error: %s ' % (str(request_error[0]))) else: logging.error('aerioGetEventById-Error: %s ' % (str(request_error[0]))) return None # error and couldn't get event so return None else: return None # no error, but no match either or else we wouldn't have got here - return None On Jun 23, 9:32 am, "Austin (Google)" <[EMAIL PROTECTED]> wrote: > Hi, > > 1) It does appear that when using "quick add" to create event and without > having any semantic cue to determine the time of the event, it is assumed to > be an event of the current time. > > 2) On this page you can find the common error status codes and their > description - > > http://code.google.com/apis/gdata/reference.html#http-status-codes > > Hope it helps, > Austin > > On Fri, Jun 20, 2008 at 9:28 AM, nicodotti2 <[EMAIL PROTECTED]> wrote: > > > Hello all, > > > I've been working the create event call using the python client api > > and I noticed something strange and have some questions. Here's the > > code and the result: > > nonsensicalEvent = 'otigleedinglodinglodin' > > quickAddEvent = {'quickAddEventData':nonsensicalEvent} > > #quickAddEvent = {'quickAddEventData':'lunch with John at "Taco > > Tuesdays" Monday 12 pm'} > > #quickAddEvent = {'quickAddEventData':'Tennis with Roger Federer > > June 21 3pm-5:15pm'} > > test_aerioQuickAddEvent(quickAddEvent, reusableToken) > > When I run the uncommented portion above (btw, the others work fine), > > I actually got an event for the current day at 9:14am > > otigleedinglodinglodin > > > So my questions: > > 1. What's the 'default' behavior on an event that doesn't specify a > > true 'When' and why did I get an event at 9:14 (by the way, that was > > about the time I ran the program - so will it always create an event > > right now?) > > > 2. Is there a concept of an invalid event? If so can I see an example? > > I'd like to try to exercise exceptional conditions. 2b. Also, as I'm > > new to the gdata api, is there a document that goes into various > > example exceptional conditions for all the calendar services? I've > > already looked at the code: > > On failure, a RequestError is raised of the form: > > {'status': HTTP status code from server, > > 'reason': HTTP reason from the server, > > 'body': HTTP body of the server's response} > > But is there more documentation available on this? > > > Thanks all. You can skip the following question but just in case: > > Is this a good way of handling exceptions in general? > > > try: > > # Send the request and receive the response: > > logging.debug('aerioQuickAddEvent-About to add quick add > > event (calling gdata feed)') > > new_event = calendar_service.InsertEvent(event, '/calendar/ > > feeds/default/private/full') > > > except RequestError, request_error: > > # They aren't logged in? > > if request_error[0]['status'] == 401: > > logging.debug('aerioQuickAddEvent-401 error: %s ' % > > (str(request_error[0]))) > > else: > > logging.debug('aerioQuickAddEvent-Error: %s ' % > > (str(request_error[0]))) > > > return {'addedEvent':'Error (see log files)'} > > else: > > # We only get here if we pass the try > > return {'addedEvent':'True'} > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
