Ребята, вы знаете, есть ли в календаре Google какие-либо "push" сервисы? Есть ли способ получить все изменения в календаре пользователя, начиная с определенной отметки времени?
если вы используете Обновлено-min = lastsynctime, вы получите правильные новые, обновленные, удаленные события также ..
string formatedDate = ""; EventQuery query = new EventQuery(); DateTime? time; if (!string.IsNullOrEmpty(startDate)) { time = Convert.ToDateTime(startDate); formatedDate = string.Format("{0:s}", time); // Create the query object: query.Uri = new Uri("http://www.google.com/calendar/feeds/" + service.Credentials.Username + "/private/full?updated-min=" + formatedDate); } else { query.Uri = new Uri("http://www.google.com/calendar/feeds/" + service.Credentials.Username + "/private/full"); } // Tell the service to query: EventFeed calFeed = service.Query(query); return calFeed.Entries.Cast<EventEntry>();
Эта страница: http://code.google.com/apis/calendar/data/2.0/developers_guide_dotnet.html Содержит всю необходимую информацию, включая примеры.
Он покажет вам, как выбирать и отправлять элементы, и как запрашивать элементы, как вы предлагали.
Надеюсь, это поможет.
вопрос задавался с 2010 года, но, как и в 2013 году, я google выпустил сервис push-уведомлений, который позволяет уведомлять URL-адрес вашей службы при любых изменениях вручную в Событиях
Проверить документ от Google
https://developers.google.com/google-apps/calendar/v3/push?hl=en
1001 * уверен *
var service = new CalendarService(domainName); service.setUserCredentials(email, pwd); // Create the query object: EventQuery query = new EventQuery(); query.Uri = new Uri(string.Format("https://www.google.com/calendar/feeds/{0}/private/full", email)); // Tell the service to query: EventFeed calFeed = service.Query(query); return calFeed.Entries.AsEnumerable().Cast<EventEntry>().Where(entry => ???);
в объекте 'query' вы можете добавить желаемое условие, например 'query.StartDate'