Freebusy: query

Trả về thông tin rảnh/bận cho một nhóm lịch. Thử ngay.

Yêu cầu

Yêu cầu HTTP

POST https://www.googleapis.com/calendar/v3/freeBusy

Ủy quyền

Yêu cầu này cho phép uỷ quyền với ít nhất một trong các phạm vi sau:

Phạm vi
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

Để biết thêm thông tin, hãy xem trang xác thực và uỷ quyền.

Nội dung yêu cầu

Trong nội dung yêu cầu, hãy cung cấp dữ liệu theo cấu trúc sau:

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}
Tên tài sản Giá trị Mô tả Ghi chú
timeMin datetime Bắt đầu khoảng thời gian cho truy vấn được định dạng theo RFC3339.
timeMax datetime Kết thúc khoảng thời gian cho truy vấn được định dạng theo RFC3339.
timeZone string Múi giờ dùng trong câu trả lời. Không bắt buộc. Mặc định là UTC.
groupExpansionMax integer Số lượng giá trị nhận dạng lịch tối đa cần cung cấp cho một nhóm. Không bắt buộc. Hệ thống sẽ trả về lỗi nếu một nhóm có nhiều thành viên hơn giá trị này. Giá trị tối đa là 100.
calendarExpansionMax integer Số lượng lịch tối đa được cung cấp thông tin FreeBusy. Không bắt buộc. Giá trị tối đa là 50.
items[] list Danh sách lịch và/hoặc nhóm cần truy vấn.
items[].id string Giá trị nhận dạng của lịch hoặc nhóm.

Phản hồi

Nếu thành công, phương thức này sẽ trả về nội dung phản hồi có cấu trúc như sau:

{
  "kind": "calendar#freeBusy",
  "timeMin": datetime,
  "timeMax": datetime,
  "groups": {
    (key): {
      "errors": [
        {
          "domain": string,
          "reason": string
        }
      ],
      "calendars": [
        string
      ]
    }
  },
  "calendars": {
    (key): {
      "errors": [
        {
          "domain": string,
          "reason": string
        }
      ],
      "busy": [
        {
          "start": datetime,
          "end": datetime
        }
      ]
    }
  }
}
Tên tài sản Giá trị Mô tả Ghi chú
kind string Loại tài nguyên ("lịch#freeBusy").
timeMin datetime Bắt đầu khoảng thời gian.
timeMax datetime Kết thúc khoảng thời gian.
groups object Mở rộng nhóm.
groups.(key) nested object Danh sách lịch của những thành viên của nhóm này.
groups.(key).errors[] list (Các) lỗi không bắt buộc (nếu tính toán cho nhóm không thành công).
groups.(key).errors[].domain string Miền hoặc danh mục rộng của lỗi.
groups.(key).errors[].reason string Lý do cụ thể gây ra lỗi. Một số giá trị có thể là:
  • "groupTooBig" - Nhóm người dùng được yêu cầu quá lớn cho một truy vấn.
  • "tooManyCalendarsRequested" – Số lượng lịch được yêu cầu quá lớn đối với một truy vấn.
  • "notFound" – Không tìm thấy tài nguyên được yêu cầu.
  • "internalError" – Dịch vụ API đã gặp lỗi nội bộ.
Trong tương lai, chúng tôi có thể thêm các loại lỗi khác, vì vậy, ứng dụng cần xử lý linh hoạt các trạng thái lỗi khác không có trong danh sách này.
groups.(key).calendars[] list Danh sách lịch giá trị nhận dạng trong một nhóm.
calendars object Danh sách thông tin rảnh/bận của lịch.
calendars.(key) nested object Mở rộng rảnh/bận cho một lịch.
calendars.(key).errors[] list (Các) lỗi không bắt buộc (nếu không tính toán được lịch).
calendars.(key).errors[].domain string Miền hoặc danh mục rộng của lỗi.
calendars.(key).errors[].reason string Lý do cụ thể gây ra lỗi. Một số giá trị có thể là:
  • "groupTooBig" - Nhóm người dùng được yêu cầu quá lớn cho một truy vấn.
  • "tooManyCalendarsRequested" – Số lượng lịch được yêu cầu quá lớn đối với một truy vấn.
  • "notFound" – Không tìm thấy tài nguyên được yêu cầu.
  • "internalError" – Dịch vụ API đã gặp lỗi nội bộ.
Trong tương lai, chúng tôi có thể thêm các loại lỗi khác, vì vậy, ứng dụng cần xử lý linh hoạt các trạng thái lỗi khác không có trong danh sách này.
calendars.(key).busy[] list Danh sách khoảng thời gian mà lịch này được coi là bận.
calendars.(key).busy[].start datetime Thời điểm bắt đầu (bao gồm) khoảng thời gian.
calendars.(key).busy[].end datetime Kết thúc (loại trừ) khoảng thời gian.

Hãy dùng thử!

Hãy sử dụng APIs Explorer (Trình khám phá API) bên dưới để gọi phương thức này trên dữ liệu trực tiếp và xem phản hồi.