01/10/2018, 17:23

Lấy danh sách tất cả các calendar của tài khoản

Bạn lấy danh sách tất cả các calendar thông qua URL sau: “https://www.google.com/calendar/feeds/default/allcalendars/full” Bạn chú ý “allcalendars” sẽ cho phép bạn lấy tất cả các calendar bao gồm: primary, second and imported calendars của tài khoản. Dưới đây là 3 ...

Bạn lấy danh sách tất cả các calendar thông qua URL sau:

“https://www.google.com/calendar/feeds/default/allcalendars/full”

Bạn chú ý “allcalendars” sẽ cho phép bạn lấy tất cả các calendar bao gồm: primary, second and imported calendars của tài khoản.

Dưới đây là 3 bước hướng dẫn chi tiết để lấy danh sách calendar:

  • Bước 1: tạo một đối tượng CalendarService tên service cho tài khoản itthuydoan@gmail.com
CalendarService service = new CalendarService("FrmGoogleCalendar");
service.setUserCredentials("itthuydoan@gmail.com", "mypassword");
  • Bước 2: dùm hàm Query() của đối tượng service ở bước 1 để lấy về danh sách calendar:
CalendarQuery query = new CalendarQuery();
query.Uri = new Uri("https://www.google.com/calendar/feeds/default/allcalendars/full");
CalendarFeed resultFeed = (CalendarFeed)service.Query(query);
  • Bước 3: Ứng với mỗi CalendarEntry trong danh sách CalendarFeed lấy về, lần lược lấy ra tên của danh sách calendar, sau đó hiển thị trên MessageBox
foreach (CalendarEntry entry in resultFeed.Entries)
{
   calendarList += Environment.NewLine + " - " + entry.Title.Text;
}
MessageBox.Show(calendarList);

Chú ý: để sử dụng các đối tượng CalendarService, CalendarQuery, CalendarFeed và CalendarEntry, bạn nhớ sử dụng các namespace sau:

using Google.GData.Calendar;
using Google.GData.Client;
using Google.GData.Extensions;
using Google.GData.AccessControl;

Dưới đây là đoạn code minh họa hoàn chỉnh:

using Google.GData.Calendar;
using Google.GData.Client;
using Google.GData.Extensions;
using Google.GData.AccessControl;

private void btnGetCalendarList_Click(object sender, EventArgs e)
{
   //Bước 1: tạo đối tượng CalendarService cho tài khoản gmail
   CalendarService service = new CalendarService("FrmGoogleCalendar");
   service.setUserCredentials("itthuydoan@gmail.com", "mypassword ");

   //Bước 2: lấy danh sách các calendar của tài khoản gmail ở bước 1
   CalendarQuery query = new CalendarQuery();
   query.Uri = new  Uri("https://www.google.com/calendar/feeds/default/allcalendars/full");
   CalendarFeed resultFeed = (CalendarFeed)service.Query(query);

   // Bước 3: xuất ra danh sách calendar
   string calendarList = "Danh sách calendar:";
   foreach (CalendarEntry entry in resultFeed.Entries)
   {
       calendarList += Environment.NewLine + " - " + entry.Title.Text;
   }
   MessageBox.Show(calendarList);
}

Tương tự: chỉ lấy danh sách các calendar có quyền owner thì thay URL ở trên bằng địa chỉ URL bên dưới:
“https://www.google.com/calendar/feeds/default/owncalendars/full”
hai địa chỉ URL này chỉ khác nhau ở chổ “allcalendars” và “owncalendars”

Chúc các bạn thành công!  :roll:


0