Я использую учетные данные администратора для всех моих взаимодействий с API Google, и я могу получать события \ create \ update \ delete от всех моих пользователей размещенного домена. Однако, когда я иду, чтобы создать календарь для пользователя размещенного домена, календарь создается в пространстве администраторов. В приведенном ниже примере GoogleUserName НЕ соответствует GoogleAccount.
PostUri будет выглядеть примерно так:
http://www.google.com/calendar/feeds/user@hosteddomain.com/owncalendars/full и GoogleUserName - admin@hosteddomain.com. API создает календарь, но он находится в пространстве администратора.
CalendarService service = new CalendarService("Test");
service.setUserCredentials(GoogleUserName, GooglePassword);
CalendarEntry calendar = new CalendarEntry();
calendar.TimeZone = "America/Chicago";
calendar.Title.Text = Title;
calendar.Summary.Text = Description;
calendar.Color = Color;
calendar.Selected = true;
calendar.Hidden = false;
Uri postUri = new Uri(String.Format("http://www.google.com/calendar/feeds/{0}/owncalendars/full", GoogleAccount));
CalendarEntry createdCalendar = (CalendarEntry)service.Insert(postUri, calendar);
В документации действительно указано использование учетных данных пользователей, однако в большинстве случаев документация не относится к размещенным доменам, и поэтому я всегда пытаюсь методом проб и ошибок при взаимодействии. То, что я могу использовать все CRUD для событий самого пользователя, используя учетные данные администратора, оставляет меня верить, что это возможно.