Kalendarz Google

Skrypt wysyłający powiadomienia SMS

Przykładowy skrypt dodający w usłudze Google Kalendarz możliwość wysyłania powiadomienia SMS o zaplanowanych wydarzeniach. Szczegółowy opis konfiguracji dostępny w dokumentacji integracji.

function SmsApiCalendar()
{
  /* Konfiguracja */
  
  var SMSAPI_LOGIN   = 'login';
  var SMSAPI_PASSWORD   = 'haslo_do_api_w_md5'; // Hasło do API w MD5
  
  var SMSAPI_RECEIVER   = '48XXXXXXXXX';
  var SMSAPI_SENDERNAME = 'Info'; // Zarejestrowana nazwa nadawcy lub 'Eco'
  
  var SMSAPI_URL     = 'https://api.smsapi.pl/sms.do?';
  
  var HOURS = 0;
  var MINUTES  = 30;
  var MESSAGE = 'GOOGLE Kalendarz: Nadchodzi wydarzenie: :TITLE rozpoczynajace sie :TIME';
  /****************/
  
  SMSAPI_URL += 'username='+SMSAPI_LOGIN+'&password='+encodeURIComponent(SMSAPI_PASSWORD);
  SMSAPI_URL += '&from='+SMSAPI_SENDERNAME;
  SMSAPI_URL += '&to='+encodeURIComponent(SMSAPI_RECEIVER);
  
  var period = (HOURS * 3600000) + (MINUTES * 60000);
  var now = new Date();
  var periodFromNow = new Date(now.getTime() + period);
  
  var calendar = CalendarApp.getDefaultCalendar();
  var events = calendar.getEvents(now, periodFromNow);

  for (var i in events) {
    var event = events[i];

    var has_smsapi_status = false;
    var tag_keys = event.getAllTagKeys();
    for (var k = 0; k < tag_keys.length; ++k) {
      if (tag_keys[k] === 'smsapi_status') {
        has_smsapi_status = true;
        break;
      }
    }
    
    if (has_smsapi_status) {
      if (event.getTag('smsapi_status') === 'ok') {
        continue;
      }
    }
    var message = MESSAGE.replace(':TITLE', event.getTitle()).replace(':TIME', event.getStartTime());
    var url = SMSAPI_URL+"&encoding=utf8&message="+encodeURIComponent(message);
    UrlFetchApp.fetch(url);
    event.setTag('smsapi_status', 'ok');
  }
}

Zarejestruj się za darmo

Błyskawiczna rejestracja w 15 sekund. 50 SMS-ów na start!