Wissen Sie, ob Google Kalender irgendwelche "Push" -Dienste hat? Gibt es eine Möglichkeit, alle Änderungen für den Kalender eines Benutzers seit einem bestimmten Zeitstempel zu erhalten?Sync mit Google Kalender in beide Richtungen
Antwort
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>();
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.
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
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
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
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'
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
Frage wurde ab 2010 gefragt, aber wie auf 2013 i google hat Push-Benachrichtigungsdienst freigegeben, die auf Ihrem Service-URL erlaubt benachrichtigen, wenn sich die Menschen ual Änderung
prüfen documentatoin von Google
https://developers.google.com/google-apps/calendar/v3/push?hl=en
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