2016-07-29 7 views
0

Все уже настроено в календаре Google api (не уверен, что я правильно настроил или что-то пропустил) Я создал консольное приложение C#, которое записывает встречу в календарь Google.C# Календарь Google

Что я хочу достичь, так это то, что я хочу, чтобы все пользователи или подписчики подписывались на мое приложение, поэтому я могу написать , если есть событие.

Какая конфигурация мне нужна?

ответ

-1

Ниже приведен пример кода,

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

как мне получить список, если пользователи, подписавшиеся на мое приложение? – PongPagong

+0

Вы должны использовать Google OAuth 2.0, чтобы получить информацию, а затем обработать. – Thennarasan

+0

Я уже применил oAuth 2.0. Вопрос в том, как получить список подписчиков. – PongPagong

1

Это на самом деле проблема мульти-домен.

Некоторые вопросы для рассмотрения:

  1. Что каландр это? Публичный?
  2. Как они подписываются с вашей консоли?
  3. Что происходит, когда программное обеспечение отключается, сбой и т. Д.?
  4. Вам нужно знать событие после было написано на календари?
  5. Если нет, то новый подписчик получает ранее добавленные записи календаря?

Кроме этого, вы должны взглянуть на Webclient. Тогда у нас есть ссылка для Google Calendar API. Основной метод запроса, который вы ищете, следующий: Events Insert. Таким образом, мы можем разработать собственный вариант использования.

`` `

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

Это минимальный пример и апи имеет много конечных точек и параметров. Вы должны глубоко изучить его, возможно, вы найдете более полезный параметр.