Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Google Calendar, как безвозмездный SMS гейт

Anna | 15.06.2014 | нет комментариев
Вы знали, что google календарь может отправлять SMS напоминания? Скорее каждого да. Я сам этим пользуюсь непрерывно. А знали ли вы, что с поддержкой таких напоминаний дозволено сделать себе SMS оповещения? А вот дозволено. Этакий персональный безвозмездный SMS гейт. Я об этом когда-то давным-давно читал, но тогда мне это необходимо не было. Незадолго потребовалось отправлять SMS оповещения от железки аля разумный дом и я припомнил об этом методе. Припомнил, обнаружил готовый django модуль, реализующий его, и подключил к своему сайту. Работает! На все у меня ушло где-то пол часа. Но обо каждому по порядку.

Рассказал незадолго мой отличный приятель, что мол раздобыл он себе железяку, к которой дозволено наподключать различных датчиков. Железяка будет эти датчики опрашивать и уведомлять о загвоздках в доме (на даче). Скажем, в помещение проникли похитители, либо подвал затопило, либо бумага в туалете заканчивается (а отчего нет? такой датчик может спасти от пренеприятнейшего случая).

Вот только есть одна напасть: железяка старинная и не может ходить по https, а все SMS гейты (что он видел) имеют только https API. Я, не длинно думая, сделал http прокси у себя на сайте. Все работает, прокси на гугль ходит как молодой, меняет https на http все довольны. А вот и нет, оказалось, что с провайдерами не так все легко. То дорого, то только корпоративным заказчикам, то API они дают не всем… В всеобщем, не срослось у моего друга с гейтами. Я обучил его админить прокси и успешно позабыл об этом.

Несколько дней эта штука вертелась у меня в подсознании (судя по каждому) и вот как раз вчера вылезла оттуда со словами «Гугль календарь может отправлять SMS и у него есть API. Помнишь мы давным-давно об этом читали?». Я полез в гугль, обнаружил джанго модуль, добавил его к сайту, протестил отправку (работает!), допилил трохи и осчастливил товарища. Пускай пользуется, мне не ничтожно :)

Как подключить

Хватит лирики. Практика.

Сделать событие с напоминанием дозволено через гугл API. Это обыкновенный пост запрос с OAuth2.0 авторизацией и JSON параметрами в BODY. Прямо по ссылке дозволено испробовать сделать себе в календаре напоминание. Есть заказчики для многих платформ.

Но у нас чай Django. В котором есть модуль django-calendar-смс. Тот, что легко устанавливается и настраивается:

  1. pip install django-calendar-смс
  2. Добавляем приложение calendar_sms в INSTALLED_APPS в файле настроек (традиционно settings.py)
  3. Синхронизируем базу ./manage.py syncdb
  4. Позже чего идем в админку Django, настраиваем данные гугль аккаунта и календаря.

Все, дозволено прямо из django консоли (./manage.py shell) отправить себе СМС:
>>> from calendar_sms.смс import sendSMS >>> print sendSMS('Hello, World!')

Вот код моей django view, которая отправляет SMS (код view на GitHub):
def send(request): secret = request.GET.get('secret') text = request.GET.get('text') if not secret or secret != SMS_SECRET or not text: raise Http404 try: r = смс.sendSMS(text) or "Sent" # sendSMS returns None on success except Exception as e: r = e.message return HttpResponse(r) 

Что дальше?

Я планирую данный код менять, так как меня не устраивает, что с одного django сайта дозволено слать SMS только каждому пользователям сразу. Я хочу, Дабы СМСки уходили отдельно мне и отдельно моему товарищу.

Еще я хочу подключить к этому гейту мою жену, Дабы было проще слать СМС сообщения в роуминге из командировок. Может даже android приложение для этого сделаю. Кто знает.

Может вы что-то еще подскажете? Было бы увлекательно послушать, что дозволено еще сделать с такой штукой. Лимитация у него только одно: получателя SMS необходимо заранее регистрировать в системе.

Источник: programmingmaster.ru
Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB