Difference between revisions of "Accessing Google Calendar with Python"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) (New page: =Overview= ==Script== <pre> #!/usr/bin/env python from GoogleCalendar import * gCalMNG = GoogleCalendarMng() gCalMNG.connect ("some_login@gmail.com", "some_password") calendar = gCalMN...) |
PeterHarding (talk | contribs) |
||
Line 1: | Line 1: | ||
=Overview= | =Overview= | ||
Google provides a [[Python]] module to interact with Google Calendar | |||
A sample script is provided below | |||
==Script== | ==Script== |
Latest revision as of 16:37, 25 February 2008
Overview
Google provides a Python module to interact with Google Calendar
A sample script is provided below
Script
#!/usr/bin/env python from GoogleCalendar import * gCalMNG = GoogleCalendarMng() gCalMNG.connect ("some_login@gmail.com", "some_password") calendar = gCalMNG.getCalendar ("myCalendarForTest") events = calendar.getEvents() for event in events: print event.getTitle() print event.getContent() print time.strftime("%Y-%m-%dT%H:%M:%S" , time.localtime(event.getStartTime())) print time.strftime("%Y-%m-%dT%H:%M:%S" , time.localtime(event.getEndTime())) #----- Adding new events ----------------------------------------------------------------------- # There are two mechanisms: # - Creating a single event, and adding this one into calendar. ev = newEvent("Lluis", "lluis.gesa@gmail.org", "Meeting", "With Aleix to talk about work", "La Garriga", time.mktime((2007,03,27,19,30,00)), time.mktime((2007,03,27,21,30,00))) calendar.addEvent (ev) # - Creating directly the event into calendar: calendar.newEvent ("Meeting", "With Aleix to talk about work", "La Garriga", time.mktime((2007,03,27,19,30,00)), time.mktime((2007,03,27,21,30,00))) # with this second mechanisms, the user and email used are the same of owner of calendar #----- Updating events ----------------------------------------------------------- events = calendar.getEvents() for event in events: if event.getTitle() == "Meeting": event.setContent (event.getContent() + "Changes on location") event.setLocation ("Barcelona") event.update() #----- Deleting events ----------------------------------------------------------- events = calendar.getEvents() for event in events: if event.getTitle() == "Meeting": event.delete() #----- Adding comments ------------------------------------------------------------ # Like events, there are two methods: # - Directly over event events = calendar.getEvents() for event in events: if event.getTitle() == "Meeting": event.newComment ("comment test") # - Using a global method for create. events = calendar.getEvents() for event in events: if event.getTitle() == "Meeting": cmt = newComment ("some_user_mail", "some_email", "Coment test2") event.addComment (cmt) #----- Updating comments ----------------------------------------------------- events = calendar.getEvents() for event in events: if event.getTitle() == "Meeting": comments = event.getComments() for comment in comments: if comment.getContent() == "comment test": comment.setContent("Updated") comment.update() #----- Deleting comments ----------------------------------------------------- events = calendar.getEvents() for event in events: if event.getTitle() == "Meeting": comments = event.getComments() for comment in comments: if comment.getContent() == "Updated": comment.delete()