Я написал форму заявки для сотрудников нашей компании, чтобы они вводили маркетинговые курсы в БД и одновременно добавляли их в Календарь Google. Календарь принимает события, но окраска события отличается от «вручную» введенного события с использованием интерфейса Google. Это заставляет меня поверить, что есть некое свойство, которое я не настраиваю, которое приводит к тому, что события не будут отображаться в календаре после его встраивания в веб-страницы других компаний.
Код, используемый для ввода событий:
// Create a CalenderService and authenticate
CalendarService myService = new CalendarService("exampleCo-exampleApp-1");
myService.setUserCredentials("xxx@gmail.com", "xxxxxx");
CalendarQuery query = new CalendarQuery();
query.Uri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full");
CalendarFeed resultFeed = (CalendarFeed)myService.Query(query);
Uri postUri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full");
foreach (CalendarEntry centry in resultFeed.Entries)
{
litErrorMsg.Text += centry.Title.Text + "<br />";
if (centry.Title.Text == "fmicoursecalendar@gmail.com")
{
postUri = new Uri("https://www.google.com/calendar/feeds/" +
centry.SelfUri.ToString().Substring(centry.SelfUri.
ToString().LastIndexOf("/") + 1) + "/private/full");
break;
}
}
Google.GData.Calendar.EventEntry entry = new Google.GData.Calendar.EventEntry();
// Set the title and content of the entry.
entry.Title.Text = eventName;
entry.Content.Content = eventName;
//entry.QuickAdd = true;
entry.EventVisibility = new Google.GData.Calendar.EventEntry.Visibility("event.public");
When eventTime = new When(Convert.ToDateTime(startDate), Convert.ToDateTime(endDate));
entry.Times.Add(eventTime);
GDataGAuthRequestFactory requestFactory = (GDataGAuthRequestFactory)myService.RequestFactory;
requestFactory.CreateRequest(GDataRequestType.Insert, postUri);
// Send the request and receive the response:
AtomEntry insertedEntry = myService.Insert(postUri, entry);
И вот итоговый календарь:
«Событие jasdf тестового события» - это событие, введенное вручную, а два события: «Тестовое событие 234» - это события, введенные программным способом. В любом случае, когда я встраиваю календарь, появляется только одно событие - «тестовое событие jasdf».
Я пытался вручную установить событие на PUBLIC, но это не помогло.
Кто-нибудь сталкивался с этой проблемой раньше или имел успех с календарем Google? Если это так, я хотел бы посмотреть, что вы могли бы использовать для успешного создания событий и их публикации.
Спасибо!