Я пытаюсь отредактировать инструмент, чтобы позволить пользователю выбрать из списка своих календарей, а затем очистить все записи событий / добавить новые на основе задач проекта Microsoft.
Вот оригинальный инструмент: http://daball.github.com/Microsoft-Project-to-Google-Calendar/
У меня совершенно нет опыта работы с API Google / API календаря, и у меня возникли некоторые проблемы. Редактируемая мной программа отслеживает, какой CalendarEntry выбрал пользователь из списка своих календарей. В настоящее время я пытаюсь создать EventFeed, который дает мне EventEntries этого выбранного календаря, чтобы я мог затем удалить все из них. Цель этого - позволить кому-либо использовать этот инструмент для обновления календаря из файла проекта при внесении изменений. Вот моя функция, пытающаяся удалить.
private void clearPreviousCalendarEntries(CalendarEntry calendarEntry)
{
EventQuery query = new EventQuery();
query.Uri = new Uri(calendarEntry.Links[0].AbsoluteUri);
EventFeed feed = (EventFeed)calendarService.Query(query);
AtomFeed batchFeed = new AtomFeed(feed);
foreach (EventEntry entry in feed.Entries)
{
entry.Id = new AtomId(entry.EditUri.ToString());
entry.BatchData = new GDataBatchEntryData(GDataBatchOperationType.delete);
batchFeed.Entries.Add(entry);
}
EventFeed batchResultFeed = (EventFeed)calendarService.Batch(batchFeed, new Uri(feed.Batch));
foreach (EventEntry entry in batchResultFeed.Entries)
{
if (entry.BatchData.Status.Code != 200 && entry.BatchData.Status.Code != 201)
this.listBoxResults.SelectedIndex = this.listBoxResults.Items.Add("Problem deleteing " + entry.Title.Text + " error code: " + entry.BatchData.Status.Code);
else
this.listBoxResults.SelectedIndex = this.listBoxResults.Items.Add("Deleted " + entry.Title.Text);
}
}
Мой фид не возвращает результаты, на которые я надеялся, но, честно говоря, я не уверен, как правильно запрашивать события.
query.Uri = new Uri(calendarEntry.Links[0].AbsoluteUri);
- это то, что я взял из той части программы, которая добавляет событие в определенный календарь
AtomEntry insertedEntry = calendarService.Insert(new Uri(calendarEntry.Links[0].AbsoluteUri), eventEntry);
Эти сообщения определенно связаны с тем, что я ищу, но я не нашел решения