2010-12-02 8 views

Répondre

3

si u utiliser la mise à jour min = lastsynctime vous obtiendrez la bonne nouvelle, mises à jour, les événements dleeted 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

J'ai un doute sur la synchronisation, j'ai des événements google et des événements Outlook ... Mais sur quelle base puis-je synchroniser les deux événements .. puisque les deux ont des EventId différents – Mahantesh

3

Cette page: http://code.google.com/apis/calendar/data/2.0/developers_guide_dotnet.html Contient toutes les informations dont vous avez besoin, y compris des exemples.

Il vous montrera comment récupérer et pousser des objets, et comment interroger des objets comme vous l'avez suggéré.

Espérons que ça aide.

+0

Merci pour la réponse, mais j'étais en fait sur ce document avant de poster cette question. Peut-être que je manque quelque chose, mais je ne vois pas de notification de Google (e-mail ou SMS), ni de récupération de calendrier depuis un horodatage. – badallen

+0

Par exemple: si aujourd'hui un utilisateur met à jour son entrée d'hier, comment saurai-je que cet utilisateur a fait la modification des entrées des dates passées? par conséquent, il sera bon de connaître tous les changements depuis un horodatage particulier. J'espère que ça a du sens. – badallen

+0

Je ne suis pas sûr si c'est beaucoup d'aide, mais dans le passé, j'avais l'habitude de synchroniser Google Agenda avec Outlook. Dans Outlook, j'ai ajouté des données supplémentaires à tous les éléments afin que je puisse les comparer avec les éléments en ligne et détecter les changements/mises à jour comme ça. Je vous donnerais le code, mais malheureusement il est parti depuis longtemps ... il y a 2 ans, pour synchroniser plusieurs gcalendars avec Outlook. – TimothyP

-1

que

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 => ???); 

dans l'objet 'de requête' u peut ajouter la condition u want tels que 'query.StartDate'

+0

Merci pour la réponse, mais je pense que cela me donne toutes les entrées après ce startDate, mais ce que je veux, c'est toutes les entrées (passées, présentes et futures) ajoutées/mises à jour après un horodatage particulier. – badallen

Questions connexes