2010-12-02 10 views

Antwort

3

wenn u verwenden, um die Aktualisierung-min = lastsynctime Sie die korrekte neue bekommen, aktualisiert, dleeted Ereignisse aslo ..

string formatedDate = ""; 
     EventQuery query = new EventQuery(); 
     DateTime? time; 
     if (!string.IsNullOrEmpty(startDate)) 
     { 
      time = Convert.ToDateTime(startDate); 
      formatedDate = string.Format("{0:s}", time); 

      // Create the query object: 
      query.Uri = new Uri("http://www.google.com/calendar/feeds/" + service.Credentials.Username + "/private/full?updated-min=" + formatedDate); 
     } 
     else 
     { 
      query.Uri = new Uri("http://www.google.com/calendar/feeds/" + service.Credentials.Username + "/private/full"); 
     } 


     // Tell the service to query: 
     EventFeed calFeed = service.Query(query); 
     return calFeed.Entries.Cast<EventEntry>(); 
+0

Ich habe einen Zweifel über die Synchronisierung, ich habe Google Events und Outlook-Ereignisse ... Aber auf welcher Grundlage kann ich beide Ereignisse synchronisieren .. da beide unterschiedliche EventId haben – Mahantesh

3

Diese Seite: http://code.google.com/apis/calendar/data/2.0/developers_guide_dotnet.html Enthält alle Informationen, die Sie benötigen, einschließlich Beispiele.

Es zeigt Ihnen, wie Sie Elemente abrufen und verschieben und wie Sie Elemente abfragen, wie Sie es vorgeschlagen haben.

Ich hoffe, es hilft.

+0

Danke für die Antwort in Events, aber ich war tatsächlich auf das Dokument, bevor ich diese Frage stellen. Vielleicht verpasse ich etwas, aber ich sehe keine Push-Benachrichtigungen von Google, weder von E-Mails oder SMS noch von Kalenderänderungen seit einem Zeitstempel. – badallen

+0

Zum Beispiel: Wenn heute ein Benutzer seinen gestrigen Eintrag aktualisiert, woher weiß ich, dass dieser Benutzer die Einträge der vergangenen Daten geändert hat? Daher wird es gut sein, alle Änderungen seit einem bestimmten Zeitstempel zu kennen. Ich hoffe es macht Sinn. – badallen

+0

Ich bin mir nicht sicher, ob es viel hilft, aber in der Vergangenheit habe ich Google Kalender mit Outlook synchronisiert. In Outlook habe ich zusätzliche Daten zu allen Elementen hinzugefügt, damit ich sie mit den Online-Elementen vergleichen und Änderungen/Aktualisierungen so erkennen kann. Ich gebe dir den Code, aber leider ist es schon lange nicht mehr .. war vor 2 Jahren, mehrere gcalendars mit Outlook zu synchronisieren. – TimothyP

-1

sicher

var service = new CalendarService(domainName); 
service.setUserCredentials(email, pwd); 

// Create the query object: 
EventQuery query = new EventQuery(); 
query.Uri = new Uri(string.Format("https://www.google.com/calendar/feeds/{0}/private/full", email)); 

// Tell the service to query: 
EventFeed calFeed = service.Query(query); 
return calFeed.Entries.AsEnumerable().Cast<EventEntry>().Where(entry => ???); 

in 'query' Objekt u Bedingung hinzufügen können u wollen wie 'query.StartDate'

+0

Danke für die Antwort, aber ich denke, das bringt mir alle Einträge nach diesem Startdatum, aber was ich will, ist die alle Einträge (Vergangenheit, Gegenwart und Zukunft) hinzugefügt/aktualisiert nach einem bestimmten Zeitstempel. – badallen