隨筆 - 312, 文章 - 14, 評(píng)論 - 1393, 引用 - 0
          數(shù)據(jù)加載中……

          免費(fèi)的午餐——編程利用Google日歷API發(fā)短信、Email

          Google日歷是相當(dāng)優(yōu)秀的日程管理工具,可以方便的組織、分享各類日程,Google還提供了貼心而免費(fèi)的手機(jī)短信、Email提示功能,真是非常的贊。

          此外Google還公開了其API,使得我們可以通過各種語(yǔ)言編程訪問。

          面向.Net的API文檔:http://code.google.com/apis/calendar/docs/2.0/developers_guide_dotnet.html

          開源類庫(kù):http://code.google.com/p/google-gdata/

          下面我們就要利用此類庫(kù),及Google日歷的免費(fèi)短信、Email提醒功能,實(shí)現(xiàn)程序控制提醒。

          準(zhǔn)備工作

          首先你得有一個(gè)Google帳號(hào),并開啟了日歷功能,然后在設(shè)置中配置好手機(jī)短信功能:

          image

          然后配置你要使用的日歷,設(shè)置默認(rèn)支持的通知方式(一個(gè)日歷帳戶下,可以創(chuàng)建或?qū)攵鄠€(gè)日歷,每個(gè)日歷的提醒策略都需要單獨(dú)配置):

          image

          這樣就OK了。

          通過代碼添加活動(dòng)并用短消息、郵件提醒

          首先要按這篇教學(xué)文章的指導(dǎo),安裝類庫(kù),然后在項(xiàng)目中引入相關(guān)的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 = "abcdef@gmail.com";

          string passWord = "123321";

          //創(chuàng)建日歷服務(wù)對(duì)象

          CalendarService service = new CalendarService("CalendarTestApp");

          //設(shè)置用戶名密碼

          service.setUserCredentials(userName, passWord);

          //查詢找到賬戶中的名為測(cè)試的日歷

          var query = new CalendarQuery(calendarURI);

          CalendarEntry c = null;

          foreach (CalendarEntry f in service.Query(query).Entries)

          {

              if (f.Title.Text == "測(cè)試") c = f;

          }

          //構(gòu)建新的活動(dòng)

          var q = new EventEntry("測(cè)試活動(dòng)標(biāo)題", "測(cè)試活動(dòng)說明"n測(cè)試"n測(cè)試", "北京市朝陽(yáng)區(qū)中央電視臺(tái)總部大樓大褲衩左褲管下");

          q.Times.Add(new When(DateTime.Now.AddMinutes(8), DateTime.Now.AddDays(3)));

          //設(shè)置提前提醒時(shí)間及方式

          q.Reminder = new Reminder { Minutes = 7, Method = Reminder.ReminderMethod.all };

          //向日歷添加此活動(dòng)

          service.Insert(new Uri(c.Content.AbsoluteUri), q);

          執(zhí)行此段代碼,即可向一個(gè)名為“測(cè)試”的日歷中,添加一個(gè)帶有全部提醒功能的活動(dòng),你將會(huì)在1分鐘后收到短消息、Email提醒。

          除此之外,我還簡(jiǎn)單封裝了一個(gè)輔助類,以簡(jiǎn)化整體操作流程,其發(fā)送過程是這樣的:

          image

          是的,我又使用了神圣的中文來編寫代碼,我將在文章末尾處提供其源代碼及DLL下載,類非常簡(jiǎn)單,如果你不喜歡中文可以自行修改一下命名。

          注意,那個(gè)1.2分鐘的提前提醒時(shí)間,提交后還是會(huì)被認(rèn)為是1分鐘,因?yàn)檫@個(gè)參數(shù)不支持分鐘以下的單位。

          創(chuàng)建的活動(dòng)及其發(fā)送通知的效果

          執(zhí)行后查看日歷,活動(dòng)就被添加進(jìn)來了:

          image

          1分鐘過后,來看一下接收到的提醒吧,這是短信提醒:

          image

          短信提醒中只包含標(biāo)題和地點(diǎn)兩個(gè)信息屬性內(nèi)容,沒有說明部分。

          這是電子郵件提醒:

          image

          想想這能干些什么?

          新郵件短信通知:有些專業(yè)郵箱有新郵件短信提醒功能,那么我們只要通過程序定期檢查郵箱,然后將新郵件信息用此方法提交,就可以實(shí)現(xiàn)免費(fèi)的短信提醒功能啦,嘿嘿。(注意設(shè)置提醒的時(shí)候只設(shè)短信提醒,別把郵件提醒也弄上了,那Google就被你弄進(jìn)死循環(huán)了~)

          天氣預(yù)報(bào)通知:不怕氣象局見云改口,隨時(shí)關(guān)注實(shí)時(shí)天氣動(dòng)向,比每天一次的固定天氣預(yù)報(bào)短信服務(wù)要好。

          網(wǎng) 站重要狀況通知:網(wǎng)站管理員都希望網(wǎng)站出現(xiàn)重要事件或異常時(shí)能收到郵件通知,而現(xiàn)在還能追加一個(gè)短信通知,這樣就可以近乎實(shí)時(shí)了解自己網(wǎng)站的狀況啦。不僅 如此,Google的日歷還支持分享,假如有多個(gè)管理員的話,就可以通過分享功能共享這一個(gè)服務(wù)器狀況日歷,一有突發(fā)事件,所有管理員都將收到短信和郵件 通知!簡(jiǎn)直就是太棒了。(別被DDOS攻擊的時(shí)候把移動(dòng)服務(wù)器也發(fā)爆了~Google短信賬戶赤字~)

          RSS更新通知:讓RSS閱讀器追加上這個(gè)功能一定會(huì)備受好評(píng)哦。

          計(jì)算機(jī)操作監(jiān)控通知:不在辦公室時(shí)有沒有人偷偷開我電腦?弄個(gè)自動(dòng)運(yùn)行的程序在開機(jī)時(shí)發(fā)出通知就好,可以順道把他打開什么程序、讀了什么文件也都給記下來,呵呵。

          行情走勢(shì)變動(dòng)通知:可以通過程序監(jiān)測(cè)某些易波動(dòng)的商品報(bào)價(jià)信息,在變化時(shí)發(fā)出通知,股票、外匯、黃金什么的也適用。“Wroning!胡蘿卜大跌!油麥菜漲停。”

          團(tuán)隊(duì)消息通知:由軟件輸入并發(fā)送消息,繼而通過日歷共享功能群發(fā)短信給團(tuán)隊(duì),省錢的小招:)

          游戲外掛通知:“你被一群牛頭人踩死了!”“GM正在注視著你!”“與服務(wù)器斷開連接!”

          Twitter發(fā)言通知:用程序關(guān)注你的目標(biāo)MM的Twitter,她一說話你就收到短信,然后第一時(shí)間回復(fù)她吧,那感情持續(xù)++。(使用前請(qǐng)確定目標(biāo)不會(huì)在激動(dòng)時(shí)刷版狂噴)

          我想到的就這么多了,應(yīng)該還能發(fā)掘出很多不錯(cuò)的點(diǎn)子的,大家一起來想吧。

          但是千萬別濫用Google好心提供的這個(gè)服務(wù),你被封了不要緊,就怕會(huì)影響別人的正常使用。

          下載源代碼:





          Android開發(fā)完全講義(第2版)(本書版權(quán)已輸出到臺(tái)灣)

          http://product.dangdang.com/product.aspx?product_id=22741502



          Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


          新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

          posted on 2009-09-02 10:31 銀河使者 閱讀(1793) 評(píng)論(0)  編輯  收藏 所屬分類: Google

          主站蜘蛛池模板: 依安县| 泗阳县| 三门峡市| 宁安市| 新平| 长春市| 万载县| 陈巴尔虎旗| 龙陵县| 蕉岭县| 乌兰浩特市| 福泉市| 平乡县| 青阳县| 高唐县| 呼图壁县| 黄石市| 达州市| 梁河县| 华坪县| 南昌县| 奈曼旗| 玉田县| 思南县| 公主岭市| 黔东| 隆林| 砚山县| 乌拉特后旗| 镇巴县| 庆云县| 乐至县| 西峡县| 江达县| 江源县| 安徽省| 常宁市| 北碚区| 榆林市| 澄城县| 威信县|