免費的午餐——編程利用Google日曆API發短信、Email

Google日曆是相當優秀的日程管理工具,可以方便的組織、分享各類日程,Google還提供了貼心而免費的手機短信、Email提示功能,真是非常的贊。
此外Google還公開了其API,使得我們可以通過各種語言編程訪問。
下面我們就要利用此類庫,及Google日曆的免費短信、Email提醒功能,實現程序控制提醒。

準備工作

首先你得有一個Google帳號,並開啓了日曆功能,然後在設置中配置好手機短信功能:
然後配置你要使用的日曆,設置默認支持的通知方式(一個日曆帳戶下,可以創建或導入多個日曆,每個日曆的提醒策略都需要單獨配置):
這樣就OK了。

通過代碼添加活動並用短消息、郵件提醒

首先要按這篇教學文章的指導,安裝類庫,然後在項目中引入相關的DLL:
Google.GData.AccessControl.dll
Google.GData.Extensions.dll
Google.GData.Client.dll
Google.GData.Calendar.dll
然後編寫代碼:
string calendarURI = "http://www.google.com/calendar/feeds/default/allcalendars/full";
string userName = "[email protected]";
string passWord = "123321";
//創建日曆服務對象
CalendarService service = new CalendarService("CalendarTestApp");
//設置用戶名密碼
service.setUserCredentials(userName, passWord);
//查詢找到賬戶中的名爲測試的日曆
var query = new CalendarQuery(calendarURI);
CalendarEntry c = null;
foreach (CalendarEntry f in service.Query(query).Entries)
{
    if (f.Title.Text == "測試") c = f;
}
//構建新的活動
var q = new EventEntry("測試活動標題", "測試活動說明"n測試"n測試", "北京市朝陽區中央電視臺總部大樓大褲衩左褲管下");
q.Times.Add(new When(DateTime.Now.AddMinutes(8), DateTime.Now.AddDays(3)));
//設置提前提醒時間及方式
q.Reminder = new Reminder { Minutes = 7, Method = Reminder.ReminderMethod.all };
//向日歷添加此活動
service.Insert(new Uri(c.Content.AbsoluteUri), q);
執行此段代碼,即可向一個名爲“測試”的日曆中,添加一個帶有全部提醒功能的活動,你將會在1分鐘後收到短消息、Email提醒。
除此之外,我還簡單封裝了一個輔助類,以簡化整體操作流程,其發送過程是這樣的:
是的,我又使用了神聖的中文來編寫代碼,我將在文章末尾處提供其源代碼及DLL下載,類非常簡單,如果你不喜歡中文可以自行修改一下命名。
注意,那個1.2分鐘的提前提醒時間,提交後還是會被認爲是1分鐘,因爲這個參數不支持分鐘以下的單位。

創建的活動及其發送通知的效果

執行後查看日曆,活動就被添加進來了:
 
1分鐘過後,來看一下接收到的提醒吧,這是短信提醒:
 
短信提醒中只包含標題和地點兩個信息屬性內容,沒有說明部分。
這是電子郵件提醒:

想想這能幹些什麼?

新郵件短信通知:有些專業郵箱有新郵件短信提醒功能,那麼我們只要通過程序定期檢查郵箱,然後將新郵件信息用此方法提交,就可以實現免費的短信提醒功能啦,嘿嘿。(注意設置提醒的時候只設短信提醒,別把郵件提醒也弄上了,那Google就被你弄進死循環了~)
天氣預報通知:不怕氣象局見雲改口,隨時關注實時天氣動向,比每天一次的固定天氣預報短信服務要好。
網站重要狀況通知:網站管理員都希望網站出現重要事件或異常時能收到郵件通知,而現在還能追加一個短信通知,這樣就可以近乎實時瞭解自己網站的狀況啦。不僅如此,Google的日曆還支持分享,假如有多個管理員的話,就可以通過分享功能共享這一個服務器狀況日曆,一有突發事件,所有管理員都將收到短信和郵件通知!簡直就是太棒了。(別被DDOS***的時候把移動服務器也發爆了~Google短信賬戶赤字~)
RSS更新通知:讓RSS閱讀器追加上這個功能一定會備受好評哦。
計算機操作監控通知:不在辦公室時有沒有人偷偷開我電腦?弄個自動運行的程序在開機時發出通知就好,可以順道把他打開什麼程序、讀了什麼文件也都給記下來,呵呵。
行情走勢變動通知:可以通過程序監測某些易波動的商品報價信息,在變化時發出通知,股票、外匯、黃金什麼的也適用。“Wroning!胡蘿蔔大跌!油麥菜漲停。”
團隊消息通知:由軟件輸入併發送消息,繼而通過日曆共享功能羣發短信給團隊,省錢的小招:)
遊戲外掛通知:“你被一羣牛頭人踩死了!”“GM正在注視着你!”“與服務器斷開連接!”
Twitter發言通知:用程序關注你的目標MM的Twitter,她一說話你就收到短信,然後第一時間回覆她吧,那感情持續++。(使用前請確定目標不會在激動時刷版狂噴)
我想到的就這麼多了,應該還能發掘出很多不錯的點子的,大家一起來想吧。
但是千萬別濫用Google好心提供的這個服務,你被封了不要緊,就怕會影響別人的正常使用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章