google example calendario c# calendar google-calendar

c# - example - google calendar api key



Google Calendar API: ¿cómo obtener un CalendarEntry para el calendario predeterminado? (2)

Estoy intentando obtener la URL "normal" para el feed de calendario predeterminado de los usuarios (por ejemplo, http://www.google.com/calendar/feeds/[email protected]/private/full ). Me gustaría usar la parte [email protected] de la URL como una identificación única para ese calendario.

Sé que puedo hacer cosas con el calendario predeterminado usando la URL http://www.google.com/calendar/feeds/default/private/full . Sin embargo, no puedo encontrar una manera de construir una entrada de calendario desde esa URL (podría probar SelfUri y algunas otras propiedades para ver si la URL ''normal'' está en alguna parte) o convertirla a la URL ''normal''. de cualquier manera.

Y sé que puedo obtener la lista de calendarios así:

CalendarQuery query_cal = new CalendarQuery(); query_cal.Uri = new Uri( "http://www.google.com/calendar/feeds/default/allcalendars/full" ); CalendarFeed resultFeed = (CalendarFeed) service.Query( query_cal ); foreach ( CalendarEntry entry in resultFeed.Entries ) { ... }

Sin embargo, no puedo encontrar ninguna forma de saber cuál de esas entradas coincide con el calendario predeterminado.

O cualquier otra forma de obtener esa url normal para el calendario predeterminado.


Probablemente no sea el mejor método, pero lo uso y funciona:

feedstring = resultfeed.Entries.Item(calendarIndex).Id.AbsoluteUri.Substring(63) postUristring = "https://www.google.com/calendar/feeds/" & feedstring & "/private/full" Dim postUri As New Uri(postUristring)

Simplemente use calendarIndex = 0 para el calendario predeterminado. ¡No debería ser demasiado difícil de convertir a C #!


¡Muchas gracias! Eso funciona perfectamente! Aquí está mi código final:

CalendarQuery query = new CalendarQuery(); query.Uri = new Uri("https://www.google.com/calendar/feeds/default/allcalendars/full"); CalendarFeed resultFeed = (CalendarFeed)service.Query(query); int calendarIndex = 0; string postUristring = string.Empty; foreach (CalendarEntry entry2 in resultFeed.Entries) { if (entry2.Title.Text == "My Pregnancy Calendar") { string feedstring = resultFeed.Entries[calendarIndex].Id.AbsoluteUri.Substring(63); postUristring = "https://www.google.com/calendar/feeds/" + feedstring + "/private/full"; } calendarIndex++; }