免费的午餐(编程利用GoogleAPI发短信)-移动联通都支持
2009-12-25 12:36
615 查看
文章来源:原作者
![](https://oscdn.geek-share.com/Uploads/Images/Content/201206/02/ad7489ebbf23f79c6e5a2689ec10ef21.png)
Google日历是相当优秀的日程管理工具,可以方便的组织、分享各类日程,Google还提供了贴心而免费的手机短信、Email提示功能,真是非常的赞。
此外Google还公开了其API,使得我们可以通过各种语言编程访问。
面向.Net的API文档:http://code.google.com/apis/calendar/docs/2.0/developers_guide_dotnet.html
开源类库:http://code.google.com/p/google-gdata/
下面我们就要利用此类库,及Google日历的免费短信、Email提醒功能,实现程序控制提醒。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201206/02/ab572665cedf7a90d5f092ee609f0a8d.png)
然后配置你要使用的日历,设置默认支持的通知方式(一个日历帐户下,可以创建或导入多个日历,每个日历的提醒策略都需要单独配置):
![](https://oscdn.geek-share.com/Uploads/Images/Content/201206/02/07af37225affe197165cf101d4b493d1.png)
这样就OK了。
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";
//创建日历服务对象
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提醒。
除此之外,我还简单封装了一个辅助类,以简化整体操作流程,其发送过程是这样的:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201206/02/dbc5662fe95fc52316a8a8298c719954.png)
是的,我又使用了神圣的中文来编写代码,我将在文章末尾处提供其源代码及DLL下载,类非常简单,如果你不喜欢中文可以自行修改一下命名。
注意,那个1.2分钟的提前提醒时间,提交后还是会被认为是1分钟,因为这个参数不支持分钟以下的单位。
想想这能干些什么?
新邮件短信通知:有些专业邮箱有新邮件短信提醒功能,那么我们只要通过程序定期检查邮箱,然后将新邮件信息用此方法提交,就可以实现免费的短信提醒功能啦,嘿嘿。(注意设置提醒的时候只设短信提醒,别把邮件提醒也弄上了,那Google就被你弄进死循环了~)
天气预报通知:不怕气象局见云改口,随时关注实时天气动向,比每天一次的固定天气预报短信服务要好。
网站重要状况通知:网站管理员都希望网站出现重要事件或异常时能收到邮件通知,而现在还能追加一个短信通知,这样就可以近乎实时了解自己网站的状况啦。不仅如此,Google的日历还支持分享,假如有多个管理员的话,就可以通过分享功能共享这一个服务器状况日历,一有突发事件,所有管理员都将收到短信和邮件通知!简直就是太棒了。(别被DDOS攻击的时候把移动服务器也发爆了~Google短信账户赤字~)
RSS更新通知:让RSS阅读器追加上这个功能一定会备受好评哦。
计算机操作监控通知:不在办公室时有没有人偷偷开我电脑?弄个自动运行的程序在开机时发出通知就好,可以顺道把他打开什么程序、读了什么文件也都给记下来,呵呵。
行情走势变动通知:可以通过程序监测某些易波动的商品报价信息,在变化时发出通知,股票、外汇、黄金什么的也适用。“Wroning!胡萝卜大跌!油麦菜涨停。”
团队消息通知:由软件输入并发送消息,继而通过日历共享功能群发短信给团队,省钱的小招:)
Twitter发言通知:用程序关注你的目标MM的Twitter,她一说话你就收到短信,然后第一时间回复她吧,那感情持续++。(使用前请确定目标不会在激动时刷版狂喷)
我想到的就这么多了,应该还能发掘出很多不错的点子的,大家一起来想吧。
但是千万别滥用Google好心提供的这个服务,你被封了不要紧,就怕会影响别人的正常使用
我做的应用:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/7be6ef4807a26ee6bc839ae0ff481aa0.jpg)
示例代码下载:
http://www.uushare.com/user/uswt0731/file/2350957
![](https://oscdn.geek-share.com/Uploads/Images/Content/201206/02/ad7489ebbf23f79c6e5a2689ec10ef21.png)
Google日历是相当优秀的日程管理工具,可以方便的组织、分享各类日程,Google还提供了贴心而免费的手机短信、Email提示功能,真是非常的赞。
此外Google还公开了其API,使得我们可以通过各种语言编程访问。
面向.Net的API文档:http://code.google.com/apis/calendar/docs/2.0/developers_guide_dotnet.html
开源类库:http://code.google.com/p/google-gdata/
下面我们就要利用此类库,及Google日历的免费短信、Email提醒功能,实现程序控制提醒。
准备工作
首先你得有一个Google帐号,并开启了日历功能,然后在设置中配置好手机短信功能:![](https://oscdn.geek-share.com/Uploads/Images/Content/201206/02/ab572665cedf7a90d5f092ee609f0a8d.png)
然后配置你要使用的日历,设置默认支持的通知方式(一个日历帐户下,可以创建或导入多个日历,每个日历的提醒策略都需要单独配置):
![](https://oscdn.geek-share.com/Uploads/Images/Content/201206/02/07af37225affe197165cf101d4b493d1.png)
这样就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 = "abcdef@gmail.com";
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提醒。
除此之外,我还简单封装了一个辅助类,以简化整体操作流程,其发送过程是这样的:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201206/02/dbc5662fe95fc52316a8a8298c719954.png)
是的,我又使用了神圣的中文来编写代码,我将在文章末尾处提供其源代码及DLL下载,类非常简单,如果你不喜欢中文可以自行修改一下命名。
注意,那个1.2分钟的提前提醒时间,提交后还是会被认为是1分钟,因为这个参数不支持分钟以下的单位。
想想这能干些什么?
新邮件短信通知:有些专业邮箱有新邮件短信提醒功能,那么我们只要通过程序定期检查邮箱,然后将新邮件信息用此方法提交,就可以实现免费的短信提醒功能啦,嘿嘿。(注意设置提醒的时候只设短信提醒,别把邮件提醒也弄上了,那Google就被你弄进死循环了~)
天气预报通知:不怕气象局见云改口,随时关注实时天气动向,比每天一次的固定天气预报短信服务要好。
网站重要状况通知:网站管理员都希望网站出现重要事件或异常时能收到邮件通知,而现在还能追加一个短信通知,这样就可以近乎实时了解自己网站的状况啦。不仅如此,Google的日历还支持分享,假如有多个管理员的话,就可以通过分享功能共享这一个服务器状况日历,一有突发事件,所有管理员都将收到短信和邮件通知!简直就是太棒了。(别被DDOS攻击的时候把移动服务器也发爆了~Google短信账户赤字~)
RSS更新通知:让RSS阅读器追加上这个功能一定会备受好评哦。
计算机操作监控通知:不在办公室时有没有人偷偷开我电脑?弄个自动运行的程序在开机时发出通知就好,可以顺道把他打开什么程序、读了什么文件也都给记下来,呵呵。
行情走势变动通知:可以通过程序监测某些易波动的商品报价信息,在变化时发出通知,股票、外汇、黄金什么的也适用。“Wroning!胡萝卜大跌!油麦菜涨停。”
团队消息通知:由软件输入并发送消息,继而通过日历共享功能群发短信给团队,省钱的小招:)
Twitter发言通知:用程序关注你的目标MM的Twitter,她一说话你就收到短信,然后第一时间回复她吧,那感情持续++。(使用前请确定目标不会在激动时刷版狂喷)
我想到的就这么多了,应该还能发掘出很多不错的点子的,大家一起来想吧。
但是千万别滥用Google好心提供的这个服务,你被封了不要紧,就怕会影响别人的正常使用
我做的应用:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/7be6ef4807a26ee6bc839ae0ff481aa0.jpg)
示例代码下载:
http://www.uushare.com/user/uswt0731/file/2350957
相关文章推荐
- 免费的午餐——编程利用Google日历API发短信、Email
- 免费的午餐——编程利用Google日历API发短信、Email
- 免费的午餐——编程利用Google日历API发短信、Email
- 免费的午餐——编程利用Google日历API发短信
- 免费的午餐——编程利用Google日历API发短信、Email
- 【zz】免费的午餐——编程利用Google日历API发短信、Email
- 免费的午餐——编程利用Google日历API发短信、Email 推荐
- 利用移动提供的网站用C#做一个免费发短信的程序(不含源码)
- c++利用飞信API免费发短信
- c++利用飞信API免费发短信
- 使用较低版本API的Intel镜像模拟器支持Google API
- 利用google让互联网资源免费到底,搜索各种资源
- js正则验证手机号,支持移动、电信、联通
- 编程警世录(1)Herb Sutter:告别免费午餐时代,迎接20年来最大编程变革
- 利用Google Earth API自动化谷歌地球
- 一个支持Git应用编程开发的第三方库(API)
- 利用google绘图API 绘制折线图
- Android网络编程--问题汇总(02) 利用花生壳实现免费外网服务器搭建
- 编程经验:Google Maps JavaScript API Example
- 利用openssl API进行简单网络编程