Hi Arnaud,
Thanks for your reply.
We did actually manage to get it working in the end, but the work around was very nasty! Calling the following code before any requests are made does the trick:
var list = service.Events.List("primary");
var feltch = list.Fetch();
I've included a complete listing below in case anyone else finds it useful.
Our next problem is that we can't get recurring tasks working (also included in the code below). Any one spot what I'm doing wrong? The error I'm getting is:
Google.Apis.Requests.RequestError
Missing time zone definition for start time. [400]
Errors [
Message[Missing time zone definition for start time.] Location[ - ] Reason[required] Domain[global]
This only happens with recurring tasks. Non-recurring tasks go through with no problems.
Thanks in advance,
Steve.
===================
IAuthenticator authenticator = new OAuth2LeggedAuthenticator("XXX", "XXX", "XXX", "XXX");
var service = new CalendarService(authenticator);
service.Key = "XXX";
var list = service.Events.List("primary");
var feltch = list.Fetch();
var start = new EventDateTime();
start.DateTime = "2012-03-05T10:30:00Z";
var end = new EventDateTime();
end.DateTime = "2012-03-05T11:45:00Z";
var attendee = new EventAttendee();
attendee.Email = "XXX";
var e = new Event();
e.End = end;
e.Kind = "calendar#event";
e.Organizer = new Event.OrganizerData { Email = "XXX" };
e.Start = start;
e.Summary = "Summary";
e.Id = null;
e.ICalUID = null;
e.Location = "";
e.Attendees = new List<EventAttendee>();
e.Attendees.Add(attendee);
var eventReminder = new EventReminder();
eventReminder.Method = "popup";
eventReminder.Minutes = 15;
e.Reminders = new Event.RemindersData();
e.Reminders.UseDefault = false;
e.Reminders.Overrides = new List<EventReminder>();
e.Reminders.Overrides.Add(eventReminder);
// Recurrence:
var recurrence = "DTSTART:20120305T103000Z\r\nDURATION=30M\r\nRRULE:FREQ=DAILY;COUNT=20;INTERVAL=1;WKST=SU";
e.Recurrence = new List<string>();
e.Recurrence.Add(recurrence);
var request = service.Events.Insert(e, "primary");
request.SendNotifications = false;
request.Fetch();
========================