14.07.2012
Gmail га келган янги хатлар хақида SMS орқали хабар қилиш
Бу мақолада Google Calendar ва Google Apps Script ёрдамида Gmail электрон почта хизматида жойлашган электрон қутига келган янги хатлар хақида SMS орқали хабар қилиш усули ёритилган. Бу жараён Google Docs'да сақланувчи скрипт ёрдамида амалга оширилади.
Унинг ишлаш "принцип"и қуйидагича: Ёзилган скрипт таймерда кўрсатилган маълум вақт оралиғида қутининг "Кирувчи" папкасини текшириб туради. Агарда у янги хат борлигини аниқласа, google calendar'да янги хат мавзуси билан бир хил бўлган янги ходиса тузади ва унинг учун SMS билдиришни ёқиб қўяди. Натижада сизга қуйидаги кўринишдаги SMS хабар келади:
Эслатма: Хат мавзуси @ сана вақт
Агар бу сизга қизиқ бўлса "Батафсил" ҳаволасини босинг.
Демак, бу ишни амалга оширишлик учун аввало сизни қўл телефонингиз рақами Google Calendar га боғланган бўлиши лозим.
Бунинг учун:
Энди скрипт янги хатлар билан тўғри ишлай олишлиги учун қуйидаги ишларни бажариш лозим:
1. GMail'да "SMSnotify" деб номланган янги Label (Ярлык) тузинг. Бунинг учун:
1.1 Gmail интерфейсининг чап тарафидаги бўлимлардан More (Ещё) ҳаволасини босинг:
1.2 Скроллбарни пастроққа тушириб, Create new label (Создать ярлык) ҳаволасини босинг:
1.3 Очилган жойда янги label номини киритиб, Create (Создать) тугмасини босинг:
2. Энди барча кирувчи хатларга SMSNotify label'ини қўйилишини созлашимиз лозим. Бунинг учун янги фильтр тузамиз:
2.1 GMail интерфейсининг юқори қисмида жойлашган излаш жойини ўнг тарафидаги пастга қараган чизиқчани босинг:
2.2 To жойига ўзингизни электрон манзилингизни киритинг ва Create filter with this search >> (Создать фильтр) ҳаволасини босинг:
2.3 Шунда фильтр ойнаси кейинги "бет"га ўтади. У ердан Apply the label тугмачасини белгилаб қўямиз ва уни ёнидаги label'лар рўйхатидан, хозиргина тузган SMSNotify lablel'имизни танлаймиз. Пастдаги Create filter тугмасини босамиз:
Шундай қилиб, бундан буёғига барча янги келган хатларга SMSNotify label'и белигланадиган бўлди.
3. Google Docs (https://docs.google.com) га киринг ва янги Script тузинг. Бунинг учун Create (Создать) тугмасини босамиз ва очилган менюдан Script (Скрипт) ни танланг:
Шунда скрипт лар билан ишлаш мухити - Google Apps Script очилади. Очилган диалог ойнасида Close тугмасини босинг:
Мухитда очиқ турган Code.gs файлидаги 3 қатор кодни ўчириб, уни ўрнига қуйидаги кодни киритинг:
Google Apps Script жуда катта имкониятларни тақдим этади шунинг учун хам уларга алохида мақола ёзилиши лозим. Бу мақолада эса мен хар бир объект ва метод хақида алохида тўхталиб ўтирмасдан фақатгина улар нималигини ва нима учун ишлатилиши хақида айтиб ўтаман.
threads ўзгарувчисида SMSNotify label'и ёрдамида белиланган хатлар массиви сақланади.
Хатлар сони текширилганидан сўнг (агарда янгилари йўқ бўлса дастур ўз ишини тугаллайди), циклда янги ходисалар тузишга киришамиз. Бу ерда хар бир янги ходисага "белги" қўйилишига эътибор беришингизни сўрайман, чунки кейинроқ уларни тозалаш керак бўлади.
Бизга хар соатда бажарилувчи time-driven туридаги триггер керак. Биринчи бўлимдан Notification, кейингисидан Time-driven, Hour timer, Every hour ларни танлаймиз ва ўнг тарафдаги notifications ҳаволасини босамиз. Очилган ойнадан, via email at сизни_эл_почта@gmail.com ёнида турган ўчириш тугмасини босамиз. Бунинг сабаби биз скрипт бажарилишида рўй берган хатоликлар хақидаги SMS-ларни олмоқчи эмасмиз. ОК ни босамиз. Save ни босамиз:
Триггерни ишлаб кетиш шартлари ўзгаритирилиши ва скриптга киритилган ўзгаришларни сақлаш жараёнида, авторизация ойнаси очилиб туради. Унда Authorize тугмасини босамиз. Яъни, рухсат берамиз:
Энди скриптни сақлаб қўямиз ва скриптни текшириш учун уни ишлатиб кўрамиз:
Қўшимча:
SMS хабардаги фойдали символлар сонини кўпайтириш мақсадида, календарь номини калтароқ сўзга ўзгартириш мумкин, масалан "." га. Бу ишни календарь созлашларидан бажарилади. Бунинг учун:
1. Google Calendar га кирасиз.
2. Ғилдиракчали тугмачани босиб очилган менюдан Settings (Настройки) ни босасиз.
3. Шунда Calendar Settings (Настройки календаря) бўлими очилади. У ерда Calendars (Календари) бўлимига ўтасиз.
4. Пастдаги жадвалда сизни "календарь" ларингиз кўрсатилган бўлади. Улардан биринчиси сизни номингиз билан бошланган бўлиши мумкин. Масалан, мени календарим farkhod.dadajanov деб номланган эди. Ўша номни босаман.
5. Шунда календарь номини созлаш (Calendar Details) ойнаси очилади. У ерда Calendar Name жойига ўзим холаган номни киритасиз. Масалан: .
6. Save тугмасини босасиз.
Мавзуга алоқадор ҳаволалар:
Стандарт хизматлар бўйича ёрдамчи хужжатлар (инглиз тилида) — developers.google.com/apps-script/defaultservices
Хар хил help'лар (инглиз тилида) — developers.google.com/apps-script/articles
Мақолани Фарход Дадажонов ушбу мақола асосида тайёрлади.
Manba: http://virtualdars.uz