Loại sự kiện

Trang này giải thích thuộc tính eventType và quy cách của các loại sự kiện có trong API Lịch Google.

Lịch Google cho phép người dùng tạo các sự kiện chung cũng như các sự kiện được thiết kế cho những trường hợp sử dụng cụ thể và với thuộc tính tuỳ chỉnh.

Bạn có thể tìm thấy loại sự kiện này ở những vị trí sau trong API:

  • Tất cả sự kiện đều được trả về bằng eventType.
  • eventType cần được đặt khi tạo hoặc cập nhật tài nguyên sự kiện. Nếu bạn không đặt chính sách này, Loại 'default' sẽ được dùng.
  • eventTypes có thể được chỉ định trong Events:list để liệt kê các loại sự kiện cụ thể. Nếu bạn không chỉ định loại sự kiện, tất cả các loại sự kiện sẽ được trả về.
  • eventTypes có thể được chỉ định trong phần Events:watch gọi điện để đăng ký nhận thông tin cập nhật về các loại sự kiện cụ thể. Nếu không có loại nào là đã chỉ định, yêu cầu sẽ dẫn đến việc đăng ký tất cả các loại sự kiện.

Sự kiện mặc định

Các sự kiện có loại sự kiện default được tạo và dùng làm một trong những sự kiện chính của API Lịch Google. Chúng hỗ trợ rất nhiều tài sản mà bạn có thể dùng để tuỳ chỉnh thêm cho sự kiện.

Xem Tạo sự kiện để bắt đầu làm việc Sự kiện trên Lịch Google.

Sinh nhật

Sinh nhật là sự kiện đặc biệt cả ngày và lặp lại hằng năm. Chúng có các thông số kỹ thuật sau:

  • eventType được đặt thành 'birthday'.
  • start và Các trường end cần xác định sự kiện cả ngày kéo dài đúng một ngày.
  • Giá trị trường visibility phải là 'private'.
  • Giá trị trường transparency phải là 'transparent'.
  • Cần lặp lại hằng năm, tức là Trường recurrence phải là 'RRULE:FREQ=YEARLY'. Sự kiện sinh nhật rơi vào ngày 29 tháng 2 phải có quy tắc lặp lại sau: 'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'.
  • Có thể có colorId, summaryreminders.
  • Không hỗ trợ thuộc tính sự kiện nào khác.

Sự kiện từ Gmail

Sự kiện được tạo tự động từ Gmail có loại sự kiện 'fromGmail'.

API Lịch Google không cho phép tạo loại sự kiện này bằng cách sử dụng insert.

API này cho phép cập nhật colorId, reminders, visibility, transparency, status, privateshared tài sản mở rộng bằng cách sử dụng bản cập nhật và phương pháp bản vá.

API này hỗ trợ getliệt kê các phương thức để đọc sự kiện từ Gmail. eventTypes có thể là đặt thành 'fromGmail' để chỉ liệt kê những sự kiện được tạo từ Gmail. Nếu không có loại nào là đã chỉ định, các sự kiện từ Gmail sẽ được liệt kê cùng với tất cả loại sự kiện khác.

API này hỗ trợ phương pháp watch để đăng ký nhận thông tin về các thay đổi đối với các sự kiện từ Gmail trên Lịch Google. Nếu không có loại nào là đã chỉ định, tất cả loại sự kiện, bao gồm cả 'fromGmail', sẽ được đăng ký.

Có thể xoá sự kiện từ Gmail bằng cách sử dụng delete của API Lịch Google.

Thay đổi người tổ chức một sự kiện từ Gmail bằng cách sử dụng di chuyển hoặc Không hỗ trợ phương pháp update.

Thời gian cần tập trung, không có mặt tại văn phòng và địa điểm làm việc

API Lịch Google có thể được dùng để tạo và quản lý các sự kiện hiển thị trạng thái của người dùng Lịch Google.

Các tính năng này chỉ có trên lịch chính và đối với một số lịch Người dùng Lịch Google. Xem bài viết Quản lý thời gian cần tập trung, thời gian không có mặt tại văn phòng và làm việc sự kiện địa điểm để tìm hiểu thêm.

Khám phá các loại sự kiện trong Google Apps Script

Google Apps Script là một đám mây dựa trên JavaScript ngôn ngữ tập lệnh cho phép bạn xây dựng các ứng dụng kinh doanh tích hợp với Google Workspace. Các tập lệnh được phát triển trong trình soạn thảo mã dựa trên trình duyệt và chúng sẽ được lưu trữ và chạy trên các máy chủ của Google. Xem thêm Google Apps Script bắt đầu nhanh để bắt đầu sử dụng Apps Script để gửi yêu cầu đến API Lịch Google.

Những hướng dẫn sau đây mô tả cách đọc và quản lý sự kiện bằng API Lịch Google là một dịch vụ nâng cao trong Google Apps Script. Để xem danh sách đầy đủ các tài nguyên và phương thức của API Lịch Google, hãy xem tài liệu tham khảo.

Tạo và thiết lập tập lệnh

  1. Tạo tập lệnh bằng cách chuyển đến script.google.com/create.
  2. Trên ngăn bên trái, bên cạnh Dịch vụ, hãy nhấp vào Thêm dịch vụ .
  3. Chọn API Lịch Google rồi nhấp vào Thêm.
  4. Sau khi bật, API này sẽ xuất hiện trên ngăn bên trái. Các phương thức và các lớp trong API có thể được liệt kê bằng cách sử dụng từ khoá Lịch trong trình chỉnh sửa.

(Không bắt buộc) Cập nhật dự án trên Google Cloud

Mỗi dự án Google Apps Script có một dự án liên kết với Google Cloud. Thông tin tập lệnh có thể tự động sử dụng dự án mặc định mà Google Apps Script tạo. Nếu bạn muốn sử dụng một dự án tuỳ chỉnh trên Google Cloud, hãy xem bài viết Chuyển sang dự án Cloud chuẩn khác. Sau khi thiết lập dự án trên Google Cloud, hãy chọn biểu tượng Trình chỉnh sửa ở bên trái để quay lại trình soạn thảo mã.

Thêm mã vào tập lệnh

Mã mẫu sau đây cho biết cách liệt kê, đọc và tạo sự kiện bằng các giá trị eventType khác nhau.

  1. Dán nội dung sau đây vào trình soạn thảo mã.

    const CALENDAR_ID = 'CALENDAR_ID' || 'primary';
    
    /** Lists default events. */
    function listDefaultEvents() {
      listEvents('default');
    }
    
    /** Lists events from Gmail. */
    function listEventsFromGmail() {
      listEvents('fromGmail');
    }
    
    /**
      * Lists events with the given event type. If no type is specified, lists all events.
      * See https://developers.google.com/calendar/api/v3/reference/events/list
      */
    function listEvents(eventType = undefined) {
      // Query parameters for the list request.
      const optionalArgs = {
        eventTypes: eventType ? [eventType] : undefined,
        singleEvents: true,
        timeMax: '2024-07-30T00:00:00+01:00',
        timeMin: '2024-07-29T00:00:00+01:00',
      }
      try {
        var response = Calendar.Events.list(CALENDAR_ID, optionalArgs);
        response.items.forEach(event => console.log(event));
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /**
      * Reads the event with the given eventId.
      * See https://developers.google.com/calendar/api/v3/reference/events/get
      */
    function readEvent() {
      try {
        var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID');
        console.log(response);
      } catch (exception) {
        console.log(exception.message);
      }
    }
    
    /** Creates a default event. */
    function createDefaultEvent() {
      const event = {
        start: { dateTime: '2024-07-30T10:30:00+01:00'},
        end: { dateTime: '2024-07-30T12:30:00+01:00'},
        description: 'Created from Apps Script.',
        eventType: 'default',
        summary: 'Sample event',
      }
      createEvent(event);
    }
    
    /**
      * Creates a Calendar event.
      * See https://developers.google.com/calendar/api/v3/reference/events/insert
      */
    function createEvent(event) {
    
      try {
        var response = Calendar.Events.insert(event, CALENDAR_ID);
        console.log(response);
      } catch (exception) {
        console.log(exception.message);
      }
    }
    

    Thay thế đoạn mã sau:

    • CALENDAR_ID: Địa chỉ email của lịch để truy xuất và tạo sự kiện trên đó. Hằng số này ban đầu được đặt thành 'primary', là từ khoá để truy cập lịch chính của người dùng đã đăng nhập. Thay đổi giá trị này cho phép bạn đọc các sự kiện trên lịch của những người dùng khác mà bạn có quyền truy cập.
    • EVENT_ID: Mã của sự kiện. Bạn có thể gọi Events:list để truy xuất mã sự kiện.

Chạy mã mẫu

  1. Phía trên trình soạn thảo mã, hãy chọn hàm để chạy từ trình đơn thả xuống rồi nhấp vào Run (Chạy).
  2. Trong lần thực thi đầu tiên, hệ thống sẽ nhắc bạn cấp quyền truy cập. Xem xét và cho phép Apps Script để truy cập vào lịch của bạn.
  3. Bạn có thể kiểm tra kết quả thực thi tập lệnh trong Nhật ký thực thi xuất hiện ở cuối cửa sổ.