Невозможно увидеть программно введенные события в Календаре Google - PullRequest
0 голосов
/ 10 сентября 2010

Я написал форму заявки для сотрудников нашей компании, чтобы они вводили маркетинговые курсы в БД и одновременно добавляли их в Календарь 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);

И вот итоговый календарь:

alt text

«Событие jasdf тестового события» - это событие, введенное вручную, а два события: «Тестовое событие 234» - это события, введенные программным способом. В любом случае, когда я встраиваю календарь, появляется только одно событие - «тестовое событие jasdf».

Я пытался вручную установить событие на PUBLIC, но это не помогло.

Кто-нибудь сталкивался с этой проблемой раньше или имел успех с календарем Google? Если это так, я хотел бы посмотреть, что вы могли бы использовать для успешного создания событий и их публикации.

Спасибо!

1 Ответ

0 голосов
/ 27 сентября 2010

Том -

Вы уже решили эту проблему?Я думаю, что вы можете добавлять события в неправильный календарь ... это объясняет обе ваши проблемы:

  1. События окрашены по-разному, потому что вы просматриваете несколько календарей одновременно, и Календарь Google использует разные цвета для каждого календаря.

  2. Как только вы встраиваете единственный календарь, который, как вы думаете, содержит события, вы 'только видеть события, которые на самом деле есть в этом конкретном календаре ... следовательно, ни одно из событий, которые были неправильно размещены.

Ключом здесь будет проверка, какие именно календари вы 'просмотрите в интерфейсе Календаря Google, а затем посмотрите, где заканчиваются программно вставленные события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...