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

    Наткнулся недавно на статейку 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))
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 31

      –1
      Уже пишу…
        0
        Вопрос а как у них с ограничением частоты отправки, количества сообщений(в день или месяц) и в какие страны шлёт??????
          0
          www.google.com/support/calendar/bin/answer.py?answer=37226&hl=ru

          А насчет частоты сообщений нужно тестировать не видел информацию об этом,
          кстати насколько я понял если одно событие накладывается на другое то приходят нормально 2 смс.
          • UFO just landed and posted this here
          0
          Ух, отлично.
            0
            Только самому себе можно слать?
              0
              Можно регистрировать другой аккаунт с другим мобильным.
              А так, да только себе.
                0
                «Можно регистрировать другой аккаунт с другим мобильным.»
                будет требовать подтверждение.

                и смысл слать самому себе?
                  +3
                  уведомления о событиях на сервере как минимум
                    +2
                    Ну вот для ттаких масштабов на сервер проще модем купить за 120 бачей
                      0
                      А если это всего лишь Maintance Plan который выполняется раз в неделю?
                        0
                        тогда да. но обычно на такие системы вешают большее число датчиков.
                      0
                      Хм. Только сейчас с удивлением узнал что у мегафона в Москве нет email2sms (по крайней мере судя по топику: forum.megafonmoscow.ru/?topic=7888), а мне уже много лет как нагиос шлет уведомления на телефон через email.
                      +1
                      Уведомление от автоматизированной системы
                      0
                      не только себе… подписываем на свой календарь других, им тоже идут уведомления, реализовал тоже самое на питоне, работает как часы…
                    +1
                    Посылаем SMS самому себе через Google Calendar
                    • UFO just landed and posted this here
                        0
                        поправил название, вы абсолютно правы :)
                          0
                          прочитайте мое сообщение выше…
                          0
                          я начал пользовался гугл-календарем для отсылки себе сообщений еще почти 2 года назад. пользовался, чтобы следить за интересующими меня товарами на eBay. тогда надежно отсылать/получать смски можно было лишь через 5 минут после отработки моего питоновского скрипта, вставляющего ремайндер. а что сегодня с этим?
                            0
                            При тестировании надежный интервал 5 минут, но и при 2 минутном нормально работало,
                            тут дело в соответствии времени сервера гугла и клиента, думаю можно довести и до минутного.
                            0
                            При 2 минутах не пришло. Поставил три. Жду.
                              0
                              calendar.yandex.ru/ тоже самое…
                                0
                                Пожалуйста, сделайте мне утилитку командной строки:
                                sendsmsnow «login» «password» «topic» «text»
                                Очень прошу, делов — пять минут, а мне для такого очень не хочется ставить утилиты разработчика.

                                Only users with full accounts can post comments. Log in, please.