Pull to refresh

Посылаем SMS самому себе через Google Calendar

Reading time 2 min
Views 8.6K
Наткнулся недавно на статейку SMS Уведомления + Логирование событий в Google Calendar на PHP

И решил тоже сообразить данный велосипед


Что нам потребуется?

1. Reference Google API

Нужно подключить следюущие библиотеки к проекту

  • Google.GData.Calendar
  • Google.GData.Client
  • Google.GData.Extensions


2. Немного кода.

  1. internal class Sms
  2.   {
  3.     readonly Uri postUri = new Uri("http://www.google.com/calendar/feeds/default/private/full");
  4.     private readonly CalendarService service = new CalendarService("Zabr-SMSSender-1.0");
  5.     private readonly EventEntry entry = new EventEntry();
  6.  
  7.     private static Reminder MyReminder
  8.     {
  9.       get
  10.       {
  11.         Reminder reminder = new Reminder();
  12.         reminder.Minutes = 1;
  13.         reminder.Method = Reminder.ReminderMethod.sms;
  14.  
  15.         return reminder;
  16.       }
  17.     }
  18.  
  19.     public void SendSmsFromGoogle( string Login, string Password, string Topic,
  20.                     string Message, DateTime StartDate, DateTime EndDate)
  21.     {     
  22.       service.setUserCredentials(Login, Password);    
  23.       
  24.       entry.Service = service;
  25.       entry.Authors.Add(new AtomPerson(AtomPersonType.Author));
  26.       entry.Title.Text = Topic;
  27.       entry.Content.Content = Message;
  28.       entry.Times.Add(new When(StartDate.AddMinutes(3), EndDate.AddMinutes(5)));
  29.       entry.Reminder = MyReminder;
  30.       
  31.       service.Insert(postUri, entry);
  32.     }
  33.   }
* This source code was highlighted with Source Code Highlighter.


После этого мы можем использовать наш классик так:

  1. Sms sms = new Sms()
  2. sms.SendSmsFromGoogle(txtLogin, txtPasswd, txtTopic, txtMessage, DateTime.Now, DateTime.Now);




Тип Reminder в контексте MyReminder описывает как получать нам уведомления.

Строка при декларировании сервиса («Zabr-SMSSender-1.0») может быть вашей в формате
«Компания-программа-версия», зачем не знаю, видимо статистика :)

txtLogin — логин, txtPasswd — пароль, txtTopic — тема евента,
txtMessage — сообщение евента, ну и дата начала и дата конца евента.

Время может не совпадать между сервером гугла и нашим клиентом, поэтому можно чуток ее подогнать (StartDate.AddMinutes(3), EndDate.AddMinutes(5))
Tags:
Hubs:
+36
Comments 24
Comments Comments 24

Articles