|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。注:括号内是我现在整理的时填加上的。本文主题
借助Google.NETAPIsClientLibrary,经由过程C#代码在Google日历中创立集会约请。
本文背景
比来,Google公布了.NETAPIsClientLibrary,终究能够便利地经由过程.NET/C#代码挪用Google的API。
而我们恰好有这个需求,以是小试了一下。需求是如许的:经由过程挪用GoogleCalendar的API,主动创立每周例会的Google日历举动,约请并关照参会者,被约请者能够修正该日历项。之前这个操纵是野生在Google日历的Web页面上完成的。
筹办事情
1.下载并安装GoogleDataAPISDK,次要用于援用个中的三个程序集。该SDK中也包括Google.NETAPIsClientLibrary的源代码,恰是因为有了源代码,我们在利用中碰到的成绩才得以疾速办理。
2.浏览参考文档与示例代码DataAPIDevelopersGuide:.NET,重点检察Creatingsingle-occurrenceevents(我们的义务就是创立一个日历项)。示例代码只是创立一个包括题目、内容、地址、工夫的简历日历项,而我们的需求还包含:a)约请参会者(Participants);b)关照参会者(Notifications);c)被约请者能够修正该日历项(GuestsCanModify)。
所遇成绩
Google.NETAPIsClientLibrary没有完成gCal:guestsCanModify属性(设置这个属性可让被约请者修正日历项),厥后我们参照.NETAPIsClientLibrary的源代码本人完成了一个,代码以下:
- publicclassGuestsCanModify:EnumConstruct{publicGuestsCanModify():base("guestsCanModify",GDataParserNameTable.gCalPrefix,GDataParserNameTable.NSGCal){}publicGuestsCanModify(stringvalue):base("guestsCanModify",GDataParserNameTable.gCalPrefix,GDataParserNameTable.NSGCal,value){}}
复制代码 代码完成
在VS2010中新建一个项目,并增加三个援用:"Google.GData.Extensions.dll","Google.GData.Calendar.dll","Google.GData.Client.dll"。
创立集会约请日历项的代码以下:
- publicvoidCreateCalendarEvent(){CalendarServicecalendarService=newCalendarService("CNBlogsMeeting");calendarService.setUserCredentials("Google登任命户名","暗码");EventEntryentry=newEventEntry();//日历题目与内容entry.Title.Text="博客园周会关照题目";entry.Content.Content="博客园周会关照内容";//入手下手与停止工夫,17:00~18:00WheneventTime=newWhen(DateTime.Now.Date.AddHours(17),DateTime.Now.Date.AddHours(18));entry.Times.Add(eventTime);//必要约请的参会者Whowho=newWho();who.Email="contact@cnblogs.com";who.Rel="http://schemas.google.com/g/2005#event.attendee";entry.Participants.Add(who);//给被约请者发送关照entry.Notifications=true;//被约请者能够修正该日历项entry.ExtensionElements.Add(newGuestsCanModify("true"));UripostUri=newUri("ttps://www.google.com/calendar/feeds/default/private/full");AtomEntryinsertEntry=calendarService.Insert(postUri,entry);Assert.NotNull(insertEntry);}
复制代码 代码下载
GoogleCalendarDemo.rar
刚刚打开这篇专题,猛然见到HAL9000发表的《对于大型公司项目平台选择j2ee的几层认识》系列,深受启发。 |
|