2016-07-29 2 views
0

Tout est déjà configuré sur l'API google calendar (je ne sais pas si je configure correctement ou j'ai raté quelque chose) J'ai créé une application console C#, qui écrit un rendez-vous sur google calendar. Ce que je veux réaliser est que, je veux obtenir tous les utilisateurs ou abonnés qui s'abonnent à mon application, ainsi que je peux écrire sur là calendrier s'il y a un événement.C# Google Calendar

De quelle configuration ai-je besoin?

Répondre

-1

est Ci-dessous l'exemple de code,

GoogleCalendarUtils utils = new GoogleCalendarUtils(); 
ArrayList months = /* the list of months*/; 

// Update the content window. 
foreach(ThistleEventMonth month in months) 
{ 
    foreach(ThistleEvent thistleEvent in month.ThistleEvents) 
    { 
     utils.InsertEntry(thistleEvent); 
    } 
} 
+0

Comment puis-je obtenir la liste si les utilisateurs qui s'abonnent à mon application? – PongPagong

+0

Vous devez utiliser Google OAuth 2.0 obtenir l'information, puis le processus. – Thennarasan

+0

J'ai déjà appliqué l'oAuth 2.0. Question comment est-ce que je reçois la liste de l'abonné – PongPagong

1

Ce problème est en fait un multi-domaine.

Quelques questions à considérer:

  1. Quel calendrier est-il? Un public?
  2. Comment s'abonnent-ils avec votre console? Que se passe-t-il lorsque le logiciel s'arrête, tombe en panne, etc.?
  3. Avez-vous besoin de connaître l'événement après il a été écrit dans les calendriers?
  4. Si ce n'est pas le cas, le nouvel abonné at-il déjà ajouté des entrées de calendrier?

À part cela, vous devriez jeter un coup d'œil à Webclient. Ensuite, nous avons ici la référence pour le Google Calendar API. La méthode de requête principale que vous recherchez est celle-ci: Events Insert. Avec cela, nous pouvons créer notre propre variante d'insertion.

`` `

private readonly List<string> _calendarIDs; 
/* lets assume you imported webrequests and you're going to write a method 
* Further we assume, you have a List of calendars as object attribute 
*/ 
public void InsertEntry(DateTime start, DateTime end, 
    string title, string description) { 
    using(var client = new WebClient()) { 
     var epochTicks = new DateTime(1970, 1, 1); 
     var values = new NameValueCollection(); 
     values["attachements[].fileUrl"] = ""; 
     values["attendees[].email"] = ""; 
     values["end.date"] = end.ToString("yyyy-MM-dd"); 
     values["end.dateTime"] = (end - epoch).Seconds; 
     values["reminders.overrides[].minutes"] = 0; 
     values["start.date"] = start.ToString("yyyy-MM-dd"); 
     values["start.dateTime"] = (start - epoch).Seconds; 
     values["summary"] = title; // This is the calendar entrys title 
     values["description"] = description; 

     foreach(string calendarID in _calendarIDs) { 
      var endpoint = String.Format("https://www.googleapis.com/calendar/v3/calendars/{0}/events", calendarID) 

      var response = client.UploadValues(endpoint, values); 
      var responseString = Encoding.Default.GetString(response); 
    } 
} 

Ceci est un exemple minimal et api a beaucoup de paramètres et paramètres. Vous devriez y jeter un coup d'œil, peut-être trouvez-vous un paramètre plus utile.