此篇文章只提供重要程式碼,去使用 C# Windows Form 來建置一個視窗程式與 Google 日曆互動。
未下載 GData APIs 且未安裝請參考:GData APIs ( Google Data APIs ) 介紹與安裝。
引用參考
using Google.GData.Calendar; using Google.GData.Client; using Google.GData.Extensions;
建立 CalendarService
service = new CalendarService(projectid); service.setUserCredentials(username, password);
若無 projectid,請到 Google Developers Console 申請。
取得 使用者 所有日曆
public void GetUserCalendars() { FeedQuery query = new FeedQuery(); query.Uri = new Uri("http://www.google.com/calendar/feeds/default"); AtomFeed calFeed = service.Query(query); for (int i = 0; i < calFeed.Entries.Count; i++) { // Console.WriteLine(calFeed.Entries[i].Title.Text); // do something ... } }
取得所有日曆事件
public AtomEntryCollection GetAllEvents() { EventQuery myQuery = new EventQuery(calendarURI); EventFeed myResultsFeed = service.Query(myQuery) as EventFeed; entries = myResultsFeed.Entries; return entries; }calendarURI 為 https://www.google.com/calendar/feeds/default/private/full。
取得日曆 日期區間 事件
public AtomEntryCollection GetDateRangeEvents(DateTime startTime, DateTime endTime) { EventQuery myQuery = new EventQuery(calendarURI); myQuery.StartTime = startTime; myQuery.EndTime = endTime; EventFeed myResultsFeed = service.Query(myQuery) as EventFeed; entries = myResultsFeed.Entries; return entries; }
建立事件
public void CreateEvent(string title, string content, DateTime dtStart, DateTime dtEnd) { EventEntry entry = new EventEntry(); entry.Title.Text = title; entry.Content.Content = content; When eventTime = new When(dtStart, dtEnd); entry.Times.Add(eventTime); Uri postUri = new Uri(calendarURI); AtomEntry insertedEntry = service.Insert(postUri, entry); }
更新事件
public void UpdateEvent(EventEntry entry) { Uri postUri = new Uri(calendarURI); AtomEntry insertedEntry = service.Update(entry); }
您好!
回覆刪除我照您的程式執行後(我有改成vb)
在Dim calFeed As atomfeed = service.Query(query)
會發生Execution of request failed: https://www.google.com/calendar/feeds/default
的問題
您也會有一樣的問題嗎?
我想了解一下詳細狀況,我的 SKYPE:david06172002
刪除Google API v2 在 2014/11/17 更新到 Google API v3 了,所以在 2014/11/17 後都不能用。
刪除