Pull to refresh

Comments 72

Вы пробывали получать подобным образом 20-30 SMS'ок-уведомлений в день?

Дело в том, что подобное же решение у меня было реализовано год назад (чуть иначе сделанное технически, но суть такая же — через Google Calendar). Чисто эмпирически установлено, что Google Calendar начинает терять SMS'ки при большом их количестве в сутки, иначе говоря, если к вам приходит много почты — уведомлений будет приходить всё меньше и меньше.

Лично я отказался от Google Calendar по этой причине. Тем более, что есть сервисы типа IfThisThenThat, которые позволяют легально связывать функциональность разных веб-сервисов (тот же Gmail и SMS) и надежно отправлять сколько-угодно SMS, при этом без всех этих хитрожопых скриптований.

Более подробно как это сделать можно глянуть например здесь.

Да, действительно, мне не пишут так много. Максимум — это 4-5 за час (правда за день не более 15).
Про IfThisThenThat я знаю, но немного смущает меня то, что используется сторонний сервис для отправки смс, у меня включается режим паранойи чуть-чуть. :)
Отличный лайфхак. А можно как-то сделать, чтобы еще и email отправителя был в SMS?
Да, можно. Но проблема в том, что длинна названия для встречи ограничена. К тому же, это не так просто, к сожалению. Нужно вытаскивать сообщение из цепочки (последнее, например), брать из него значение поля From, а оттуда вытаскивать сам e-mail. Но поле From может в себе содеражать еще и доп текст, типа From: Vasiliy Pupkin sales manager <pupkin@company.com>, следовательно надо как-то парсить это дело, так как тема + полный текст из From редко когда будет вмещаться в название задачи… В общем я пока «человеческого» способа не нашел :)
Но если Вы захотите покопать, то милости прошу :)
developers.google.com/apps-script/class_gmailmessage
developers.google.com/apps-script/class_gmailmessage#getFrom
Действительно, было бы отлично видеть адрес отправителя вместо своего адреса. Да и текст СМС немного кривоват.
Вообщем, спасибо огромнейшее. Надеюсь, на новые версии скрипта.
А могли бы подробнее про кривоватый текст смс? Где-то что-то сбоит? Скажите, пожалуйста, я бы исправил что в скрипте (если это возможно).
у моего ОПСОСа есть бесплатная услуга «email по sms», с ней достаточно настроить пересылку и не городить костылей. Может быть и у других операторов есть, просто мало кто знает
У моего (МТС Украина) — нет, у Киевстара нет, в общем туго у нас с этим :)
У киевстара вроде бы есть, но платное. Хотя цена смешная, если я правильно посчитал
О спасибо! Буду знать.
Как же они глубоко закопали это…
Админам приходит больше 150 смс в месяц. :)
Но в принципе если надо то и 21гривну можно заплатить
UFO just landed and posted this here
А можно ли написать скрипт для оповещения о днях рождения из Gmail's contacts?
Во-первых, можно импортировать это в любой календарь, как встроенный календарь. В настройках календаря кликните по отмеченной на скриншоте ссылке и выберите вкладку «Дополнительно» на новой странице — увидите «Дни рождения и мероприятия контактов»


Но уведомлений так не добиться.

Конечно можно и скрипт. Хотя, если не ошибаюсь, то нужно будет скопировать событие из встроенного календаря в свой и уже в скопированном событии установить оповещение по SMS (а если их сделать оповещением «по умолчанию», то просто скопировать)
developers.google.com/apps-script/service_calendar
К сожалению, более конкретней ничего сказать пока не могу, так как в эту сторону еще не «копал»
Календарь «Дни рождения и мероприятия контактов» включен, но в нем действительно нельзя настроить оповещение. Поэтому и решил уточнить…
Аппараты на Android это поддерживают «Из коробки», но если таково нет, тогда можно использовать данный лайвхак.
Гугл молодцы, что дают возможность улучшить сервис своими руками через данные скрипты.
Сейчас практически любой аппарат поддерживает email из коробки. Проблема в том, что не все подключают (платят/находятся в радиусе действия) мобильного интернета — тут на помощь придет скрипт. И заметьте, молодец elliadan, а не гугл :)
Несомненно что elliadan молодец что написал такой скрипт, но без возможности написания скриптов это не получилось бы.
Напоминание о днях рождения Google контактов тоже поддерживается из коробки кстати.
А так действительно, если нет интернета, то это самое удачное решение.
Расскажите каким образом поддерживается напоминание о днях рождениях в Google.
Пока вижу только ручное копирование событий о Днях Рождениях в My Calendar (Мой Календарь), где уже можно настроить sms-оповещение…
Не задавался таким вопросом, но на маркете видел кучу приложений для этого…
А без приложений на «маркете», не у всех он есть…
4pda.ru Мне данная функция не нужна-в контактах дней рождения нет, нужных людей помню наизусть, для остальные есть vk.com, а контакты оттуда у меня все в календаре есть благодаря сервису, про который упоминалось на хабре.
Это как? Апарат по 3G/WiFi проверяет почту и если есть отправляет сам себе СМС? :)
Нет, проверяет почту и появляется уведомление. хотя можно написать приложение, дабы отправлял смс, но смысл?
Гугл были бы молодцы, если б в настройках почты можно было просто включить sms-уведомление о email, а так приходится использовать костыли. Когда ввели уведомления в календаре, я думал — круто, скоро и для email прикрутят. Ан нет, уже лет 5 прошло, а воз и ныне там. Ворча, полез прикручивать скрипт...
> P.S.: это только у меня в интерфейсе смесь английского и русского?
У меня всё по русски.
Хех… Может если поставить Русский как единственный язык отображения для продуктов и результатов поиска, то получится… У Вас так?
А как можно сделать, чтобы отсылались уведомления только о письмах, тема которых начинается со строки «ALARM:»? :)
Настройте фильтр так, чтобы ярлык «SMSnotify» применялся только к таким письмам.
ifttt.com тоже так умеет если указать при подключении канала gmail label=unread.
А отправку смс в таком случае кто осуществляет: ifttt.com или все же google?
Могу вам только посочувствовать. Отличнейший сервис.
А у Вас какой оператор, если не секрет? В каком формате Вы вводили номер на ifttt?
Сейчас зарегистрировался там, номер (Билайн) вводил как в подсказке, 007905…
По крайней мере пин-код пришёл от них для подтверждения
Ну тогда видимо Tele2 не поддерживается. Вводил и через 007904 и через +7904.
Не поддерживается TELE2, я пытался там зарегистрироваться ~месяц назад. С МТС тут же регнулось.
Беларуский МТС. Всё путём. Не скажу точно, как вводил(скорее всего это было +375, нежели 00375, который показывается в профиле). Но работает ок.
Было бы хорошо сделать, чтобы ночью смс не приходили, а утром, например, все за ночь и пришли )
Самый легко-реализуемый вариант — это изменить триггер, примерно вот таким образом:


В этом случае скрипт запускается каждое утро с 8 до 9.
Подскажите, а как сделать, чтобы о том, что приходит в папку «Спам» не оповещало?
О как. У меня письма, которые падают в «Спам», не помечаются спец. ярлыком вообще. А как у вас фильтр настроен? Я вот для проверки сделал так:

Совпадения: to:(*gmail.com) | Действия: Применить ярлык "SMSnotify"

И все равно спам игнорируется и не помечается, следовательно и оповещений по нему нет.
Нужно в фильтре, в графе «Нет» вписать in:spam.
Здорово придуманно! Спасибо, что поделились.
Я для таких целей делал пересылку на майл.ру и там включал оповещение через СМС. У них эта функция «из коробки». Можно настроить, чтобы ночью и в выходные СМС не отправлялись.
UPD: немного изменил код, перечитав доки еще раз :) Функционал не изменился, прежняя версия так же рабочая, просто теперь используется на одну переменную меньше (label лишняя оказалась, смотри третью строку кода)

Без label теперь не работает строчка
label.removeFromThreads(threads);
Соответственно
label.removeFromThreads(threads);

надо заменить на
GmailApp.getUserLabelByName('SMSnotify').removeFromThreads(threads); //снимаем метки "SMSnotify"

Вы совершенно правы! Вот знал же я, что не стоит делать изменений в 4 утра, точно что-нибудь можно упустиить… Спасибо! (в топике поправил код)
Мне не очень понравился вариант с приостановкой скрипта на 5 минут, поэтому я решил создавать события в отдельном, скрытом календаре, и его не очищать. Скрипт поставил на запуск с периодом 1 минута, пока работает отлично.
Большое спасибо за наводку на API.
function Notification() 
{
  var calendar = CalendarApp.getOwnedCalendarsByName('SMS')[0];
  if (!calendar){
    calendar = CalendarApp.createCalendar('SMS');
    calendar.setHidden(true);
  }
  
  var label = GmailApp.getUserLabelByName('sms');
  var threads = label.getThreads();
  var now = new Date();

  if(threads == 0) return; // прекращение выполнения, если новых цепочек нет
  
  for(i in threads) // создаем события
  {
    calendar.createEvent('EMAIL '+threads[i].getFirstMessageSubject(),
        new Date(now.getTime()+60000),
        new Date(now.getTime()+60000)).addSmsReminder(0);
  }
    
  label.removeFromThreads(threads); //снимаем метки "sms"
}

Кстати, господа, а нет ли в этом топике кого-то из гугла (либо приближённых к нему), чтобы протолкнуть в корпоративный багтреккер проблему productforums.google.com/forum/#!msg/gmail/tt6_qs4CgEY/hwjSyD84E4sJ

Сам не смог продвинуть эту проблему сколь-нибудь далеко, а по факту целая страна подвержена проблеме (среди тех, кто переносил номер к другому оператору)
Люди, а объясните мне кто-нибудь зачем нужно получать оповещения по SMS когда современные телефоны прекрасно оповещают о почте и так?
В некоторых ситуациях время автономной работы большинства современных телефонов, на которых можно _комфортно_ работать с электронной почтой непростительно мало, в то время как не-современные телефоны иногда работают в режиме ожидания более трех недель.
Также возможна ситуация, когда в виду каких либо причин использование мобильного интернета, через который современные телефоны получают информацию о содержимом почтового ящика, невозможно (плохое покрытие) или неоправданно (жуткий роуминг, etc).
В тех ситуациях, которые вы описали, вы всё равно не сможете почту прочитать. Так какой смысл тогда в оповещении?
Можно, например, начать [более активно] двигаться к автодому, где открыть ноутбук и заняться почтой.
Вот именно этим мне и помогает сервис. Была уже не одна ситуация, когда приходило важное письмо. А на важные письма я люблю отвечать без особых задержек :)
Надо сказать, работает весьма нестабильно. Часто возникает «Calendar: Mismatch: etags error» при попытке навесить sms-уведомление на событие в календаре. Есть соответствующий давний issue. В обсуждении предполагается, что только что созданное событие «не всегда готово» для выполнения над ним действий. Предлагают использовать try-catch и delay.
Workaround: события создавать в календаре, для которого настроены sms-уведомления по-умолчанию (Настройки->Календари->Уведомления->По умолчанию->SMS->0 мин), а в скрипте просто создавать событие, не навешивая уведомление, и не выполняя других действий над новым событием.
Спасибо за наводку! Обязательно попробую и обновлю статью по результатам.
Сделал все, все работает, только приходит почему-то по три одинаковых SMS. Что с этим делать? Может, зависит от длительности события? Нельзя же длительность в ноль выставлять…
Проверьте, пожалуйста, в календаре, а количество встреч тоже утраивается?
В том-то и дело, что нет. Google рекомендует выключить-включить телефон support.google.com/calendar/bin/answer.py?hl=en&answer=37246, сделал, вроде только два уведомления пришло вместо трех. Там же Google рекомендует связаться с оператором, что тоже сделал — мне отключили-подключили услугу получения SMS. Снова отключил-включил телефон (простейшая трубка), пришло уже 4 одинаковых SMS. Чудеса…
Еще одна проблема обнаружилась спустя неделю использования скрипта: слетает авторизация и, соответственно, скрипт теряет доступ в Gmail и не может постить эвенты в календаре. Решил пока вручную — ручным запуском на выполнение и переавторизацией. Есть идеи, как это автоматизировать?
Авторизация слетает, если скрипт как-либо изменялся, тогда его нужно заново авторизовать. Возможно (я не уверен), слетит также если переименовать скрипт или переместить в другую папку внутри G-Drive. Может Вы делали что-то подобное?
К сожалению, я с подобной проблемой не сталкивался, вот чтобы он «просто так» терял авторизацию, случай конечно интересный :)
что то я не пойму, смс как-то странно приходят, то сразу 2 по одному письму, то ни одного… вообще в день на гмайл больше 5 писем не заходит, по какому принципу смс идет — то есть, то нет…
Да, и подскажите, можно как то сделать, чтобы ночью не отправлялись?
А как сделать, чтобы в смс приходил текст письма?
я сделал так:
в тело письма вставляю ключевое слово (и тогда фильтр gmail настраивается на поиск нужного слова в теле письма),
а в тему — нужный мне текст.
Этот метод больше не работает

Важно! SMS-оповещения будут отключены 27 июня 2015 года

С 27 июня 2015 года вы больше не будете получать SMS-оповещения от Google Календаря. Функция SMS-оповещений была внедрена ещё до широкого распространения смартфонов. Однако современные мобильные устройства позволяют получать оповещения в более удобном формате и даже в офлайн-режиме.
Для просмотра оповещений вы можете использовать приложение календаря, которое было установлено на смартфоне по умолчанию, либо скачать Google Календарь для Android или iPhone. Подробнее об оповещениях…
Это изменение не коснется пользователей Google Apps for Work, Education и Government.
Спасибо! Добавил инфо в публикацию.
Чтобы найти и остановить этот скрипт, нужно перейти по адресу drive.google.com/drive/search?q=type:script, потом кнопочка «Триггеры» и убрать триггер.
Sign up to leave a comment.

Articles