Google Calendar API

Google Calendar API là một dịch vụ của Google cho phép tương tác với Google Calendar. API cho phép lấy danh sách sự kiện, tạo, cập nhật, xóa sự kiện, và mời người tham gia. Tạo và quản lý nhiều lịch.

Các tính năng chính của Gmail Calendar API

  • Tạo và quản lý nhiều lịch
  • Lấy danh sách sự kiện, tạo, đọc, cập nhật và xóa sự kiện
  • Quản lý quyền chia sẻ lịch
  • Truy vấn sự kiện theo điều kiện
  • Tích hợp múi giờ
  • Quản lý sự kiện định kỳ
  • Quản lý khách mời và tham gia sự kiện
  • Nhắc nhở sự kiện
  • Đồng bộ hóa và thông báo sự kiện
  • Tích hợp ứng dụng khác google như Google Meet, Zoom
  • Quy trình xác thực
  • Google Calendar API sử dụng OAuth 2.0 là cơ chế xác thực.

Quy trình xác thực

Google Calendar API sử dụng OAuth 2.0 là cơ chế xác thực.

Capture-2

Bước 1: Yêu cầu ủy quyền từ người dùng (Authorization Request)

Bước 2: Người dùng cấp quyền và nhận mã ủy quyền (Authorization Code)

Bước 3: Trao đổi Authorization Code lấy Access Token

Bước 4: Sử dụng Access Token để truy cập API

Tham khảo file json trả về khi tạo service account

2-6

Trong Google Calendar API, có hai loại tài khoản được sử dụng để cấp quyền truy cập cho ứng dụng: Service AccountUser Account. Cả hai loại tài khoản đều sử dụng OAuth 2.0 để xác thực và ủy quyền, nhưng chúng có các mục đích sử dụng và cách thức hoạt động khác nhau.

  • User Account là tài khoản của người dùng Google cá nhân. Khi ứng dụng của bạn muốn truy cập vào dữ liệu của người dùng, nó sẽ yêu cầu người dùng cấp quyền thông qua luồng OAuth 2.0 dựa trên User Account. Sử dụng khi bạn tạo một ứng dụng quản lý lịch cho nhiều người dùng.

  • Service Account là một loại tài khoản đặc biệt được sử dụng khi bạn muốn ứng dụng của mình tự động truy cập vào Google Calendar mà không cần sự tương tác của người dùng cuối. Sử dụng tạo calendar cho 1 tổ chức.

Các bước tạo Service Account

  1. Tạo project và kích hoạt Google Calendar API
    Tạo tài khoản gmail sau đó truy cập https://console.cloud.google.com/projectcreate?pli=1
    Tạo project => Click google cloud => chọn project vừa tạo => Click APIs and Services => click Library => search google calendar api => Chọn google calendar api => Enable

  2. Tạo Service Account
    Click Credentials => Click +Create credentials => Chọn Service Account => Đặt tên ở
    input "Service account name" => Click button Create and Continue => Click Select a role => Chọn role là Owner => click button Continue => click button Done.
    Ở mục Service Accounts => click icon edit service account => click tab Keys => chọn select option Add Key => chọn option Create new key => chọn type là Json => click button CREATE => 1 json sẽ được tải xuống. Copy file này đưa vào source code

  3. Cấp quyền truy cập lịch cho Service Account
    Vào ứng dụng google calendar https://calendar.google.com/calendar/u/0/r?pli=1
    Trong phần My Calendars => click dấu ... chọn Settings and Sharing
    Ở mục Share with specific people or groups => click Add People and Groups => sẽ mở lên 1 modal => sau đó vào file json đã tải về lấy mục client_email, điền vào mục email của modal
    Ở mục Permissions => Chọn Make changes and manage sharing => click button Send.

Kéo xuống dưới mục Integrate calendar
lấy Calendar ID lưu lại.

Tham khảo

Tạo event

3

Khi tạo xong event API sẽ trả về event_id, event_id dùng để cập nhật và xóa event

Update event

Capture-3

Xóa event

1

Lấy list event

4