GMail: Włączamy powiadomienia SMS-em o nowej poczcie

21
7309
GMail - Włączamy powiadomienia SMS-em o nowej poczcie

W GMailu, mimo że jest obecnie najpopularniejszym klientem poczty, nie zrealizowano funkcji wysyłania notyfikacji SMS o nowych mailach.
Posiadacze smartfonów mogą dowiadywać się o nowych mailach dzięki funkcji push e-mail, ale pobiera to dodatkowe megabajty, więc dla niektórych to odpada.

Zobaczmy zatem, jak wykorzystać możliwości Kalendarz Google, aby zorganizować powiadomienia smsowe o nowych wiadomościach w usłudze GMail.

(Obrazek: Our’s Article)

 

Na początek przypominamy, że notyfikacje SMS o nowych wydarzeniach potrafi wysyłać inna aplikacja Google – Kalendarz Google. Warto włączyć tę usługę, jeżeli zdarza nam się zapominać o zaplanowanych spotkaniach.

Jeżeli mamy już podany w Kalendarzu GMail numer telefonu komórkowego, tworzymy na GMailu nową etykietę (korzystanie z etykiet), np. SMS oraz filtr, który będzie oznaczał nową etykietą wszystkie wiadomości przychodzące na nasz adres mailowy.

Otwieramy Dysk Google i klikamy Utwórz>Więcej>Skrypt. Za chwilę dodamy prosty skrypt, ale tytułem wyjaśnienia: skrypt działa w ten sposób, że tworzy nowe wydarzenia w naszym Kalendarzu Google.

1). Jeżeli chcemy, by wydarzenia były kasowane tuż po wysłaniu powiadomienia, wybieramy skrypt nr 1:

Aby uniknąć błędów, wchodzimy do Ustawień Kalendarza Google:
Powiadomienia>Domyślnie przypominaj za pośrednictwem i ustawiamy SMS: 0 min przed każdym wydarzeniem

[stextbox id=”grey” caption=”Skrypt”]

function Notification()
{
var threads = GmailApp.getUserLabelByName(’SMS’).getThreads(); //zmienna przechowujące kolekcję łańcuszków z naszą etykietą SMS
var now = new Date();
if(threads == 0) return; // zaprzestanie wykonywania, jeżeli brak nowych łańcuszków</code>

for(i in threads) // tworzymy zdarzenia
{
CalendarApp.createEvent(threads[i].getFirstMessageSubject(),
new Date(now.getTime()+60000),
new Date(now.getTime()+60000)).setDescription(’this-is-sms_notification-mark’);
//this-is-sms_notification-mark – etykieta utworzonego zdarzenia, dzięki której można będzie je znaleźć podczas kasowania
}

GmailApp.getUserLabelByName(’SMS’).removeFromThreads(threads); //usuwanie etykiety „SMS”

Utilities.sleep(300000);

var TodaysEvents = CalendarApp.getDefaultCalendar().getEventsForDay(now);

for (i in TodaysEvents) // wyszukiwanie według zdarzenia i kasowanie po wysłaniu
{
if (TodaysEvents[i].getDescription()==’this-is-sms_notification-mark’)
TodaysEvents[i].deleteEvent();
}
}

[/stextbox]

2). Można też utworzyć nowy kalendarz, np. „GMail: Powiadomienia SMS” i przechowywać w nim takie zdarzenia. Skrypt nr 2:
[stextbox id=”grey” caption=”Skrypt”]

function my_notification()
{
var calendar = CalendarApp.getOwnedCalendarsByName(’email’)[0]; //otwieramy kalendarz o nazwie „email”

if (!calendar){
calendar = CalendarApp.createCalendar(’email’); //lub tworzymy nowy, jeżeli jeszcze go nie ma
calendar.setHidden(true);
}

var threads = GmailApp.getUserLabelByName(’SMS’).getThreads(); //zmienna, w której zapisywana jest kolekcja łańcuszków z etykietą SMS
var now = new Date();

if(threads == 0) return; // zaprzestanie wykonywania, jeżeli brak nowych łańcuszków

for(i in threads) // tworzenie zdarzeń
{
calendar.createEvent(threads[i].getFirstMessageSubject(),
new Date(now.getTime()+60000),
new Date(now.getTime()+60000));
}

GmailApp.getUserLabelByName(’SMS’).removeFromThreads(threads); //usuwanie etykiet „SMS” z łańcuszków
}

[/stextbox]

Po uruchomieniu skryptu wchodzimy do Ustawień Kalendarza Google:
Powiadomienia>Domyślnie przypominaj za pośrednictwem i ustawiamy SMS: 0 min przed każdym wydarzeniem

Po uruchomieniu skryptu wchodzimy do Ustawień Kalendarza Google

Po wklejeniu kodu, tworzymy wyzwalacz dla bieżącego skryptu. Klikamy Zasoby>Wyzwalacze bieżącego skryptu i definiujemy częstotliwość wykonywania, np. 1 h (wartość domyślna, więc wystarczy potwierdzić):

Po wklejeniu kodu, tworzymy wyzwalacz dla bieżącego skryptu

definiujemy częstotliwość wykonywania, np. 1 h

Teraz zgadzamy się na autoryzację:

Teraz zgadzamy się na autoryzację

i uruchamiamy skrypt:

uruchamiamy skrypt

Aby uniknąć ewentualnych błędów usuwamy notyfikację w oknie edytora wyzwalaczy.

21 KOMENTARZE