Xóa các calendar trên google

Để xóa calendar trên google chúng ta làm theo các bước sau:

  • Bước 1: tạo một đối tượng CalendarService tên service cho tài khoản gmail
CalendarService service = new CalendarService("FrmGoogleCalendar");

service.setUserCredentials(txtEmail.Text.Trim(), txtPassword.Text.Trim());

  • Bước 2: Tạo đối tượng CalendarQuery tên query dùng để lấy danh sách calendar từ tài khoản gmail ở bước 1. Sau đó dùng đối tượng CalendarFeed tên resultFeed để chứa danh sách calendar
CalendarQuery query = new CalendarQuery();

query.Uri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full");

CalendarFeed resultFeed = (CalendarFeed)service.Query(query);

 

  • Bước 3: ứng với mỗi đối tượng CalendarEntry trong danh sách calendar trả về, dùng hàm .Delete()để thực hiện việc xóa calendar
foreach (CalendarEntry entry in resultFeed.Entries)
{
   try
   {
      entry.Delete();
   }
   catch (GDataRequestException)
   {
      MessageBox.Show("Không thể xóa calendar chính: " + entry.Title.Text);
   }
}

Ghi chú:

Ứng với mỗi tài khoản sẽ có một calendar chính được gọi là primary calendar, calendar này sẽ không xóa được. Ở bước 3, thực hiện xóa calendar, nhưng khi gặp primary calendar sẽ xuất hiện thông báo “Không thể xóa calendar chính:” + tên calendar

Cũng tương tự thêm mới hay cập nhật calendar, bạn cần sử dụng các namspace thích hợp như bên dưới:

using Google.GData.Calendar;

using Google.GData.Client;

using Google.GData.Extensions;

using Google.GData.AccessControl;

Dưới đây là đọa code hoàn chỉnh về xóa calendar

private void btnDeleteCalendar_Click(object sender, EventArgs e)
{
   try
   {
      //Bước 1: tạo đối tượng CalendarService cho tài khoản gmail
      CalendarService service = new  CalendarService("FrmGoogleCalendar");
      service.setUserCredentials(txtEmail.Text.Trim(),   txtPassword.Text.Trim());

      //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/owncalendars/full");
      CalendarFeed resultFeed = (CalendarFeed)service.Query(query);

      // Bước 3: ứng với mỗi đối tượng CalendarEntry thì gọi hàm Delete() để xóa calendar
      foreach (CalendarEntry entry in resultFeed.Entries)
      {
         try
         {
             entry.Delete();
         }
         catch (GDataRequestException)
         {
             MessageBox.Show("Không thể xóa calendar chính: " + entry.Title.Text);
         }
      }
   }
   catch (Exception ex)
   {
       MessageBox.Show(ex.ToString());
   }
   MessageBox.Show("Kết thúc");
}

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

 


Leave a Reply

Your email address will not be published. Required fields are marked *