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++;
}