Freebusy: query

แสดงผลข้อมูลว่าง/ไม่ว่างสำหรับชุดปฏิทิน ลองเลย

ส่งคำขอ

คำขอ HTTP

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

การให้สิทธิ์

คำขอนี้อนุญาตการให้สิทธิ์ด้วยขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต

ขอบเขต
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

โปรดดูข้อมูลเพิ่มเติมที่หน้าการตรวจสอบสิทธิ์และการให้สิทธิ์

เนื้อหาของคำขอ

ในเนื้อหาคำขอ ให้ข้อมูลตามโครงสร้างต่อไปนี้

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}
ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย Notes
timeMin datetime จุดเริ่มต้นของช่วงเวลาสำหรับข้อความค้นหาในรูปแบบตาม RFC3339
timeMax datetime จุดสิ้นสุดของช่วงเวลาสำหรับข้อความค้นหาที่มีการจัดรูปแบบตาม RFC3339
timeZone string เขตเวลาที่ใช้ในคำตอบ ไม่บังคับ ค่าเริ่มต้นคือ UTC
groupExpansionMax integer จำนวนตัวระบุปฏิทินสูงสุดที่จะมีให้สำหรับ 1 กลุ่ม ไม่บังคับ ระบบจะแสดงข้อผิดพลาดสำหรับกลุ่มที่มีสมาชิกมากกว่าค่านี้ ค่าสูงสุดคือ 100
calendarExpansionMax integer จำนวนปฏิทินสูงสุดที่จะระบุข้อมูล FreeBusy ไม่บังคับ ค่าสูงสุดคือ 50
items[] list รายการปฏิทินและ/หรือกลุ่มที่จะค้นหา
items[].id string ตัวระบุของปฏิทินหรือกลุ่ม

คำตอบ

หากสำเร็จ เมธอดนี้จะแสดงเนื้อหาการตอบสนองที่มีโครงสร้างต่อไปนี้

{
  "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
        }
      ]
    }
  }
}
ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย Notes
kind string ประเภทของทรัพยากร ("calendar#freeBusy")
timeMin datetime จุดเริ่มต้นของช่วงเวลา
timeMax datetime จุดสิ้นสุดของช่วงเวลา
groups object การขยายกลุ่ม
groups.(key) nested object รายการปฏิทินที่เป็นสมาชิกของกลุ่มนี้
groups.(key).errors[] list ข้อผิดพลาดที่ไม่บังคับ (หากการคำนวณสำหรับกลุ่มล้มเหลว)
groups.(key).errors[].domain string โดเมนหรือหมวดหมู่ทั่วไปของข้อผิดพลาด
groups.(key).errors[].reason string เหตุผลที่เฉพาะเจาะจงของข้อผิดพลาด ค่าที่เป็นไปได้บางค่าได้แก่:
  • "groupTooBig" - กลุ่มผู้ใช้ที่ขอมีขนาดใหญ่เกินไปสำหรับคำค้นหาเดียว
  • "tooManyCalendarsRequested" - จำนวนปฏิทินที่ขอมากเกินไปสำหรับคำค้นหาเดียว
  • "notFound" ไม่พบทรัพยากรที่ขอ
  • "internalError" - บริการ API พบข้อผิดพลาดภายใน
อาจมีการเพิ่มประเภทข้อผิดพลาดอื่นๆ ในอนาคต ดังนั้นลูกค้าควรจัดการกับสถานะข้อผิดพลาดเพิ่มเติมที่ไม่มีอยู่ในรายการนี้อย่างเหมาะสม
groups.(key).calendars[] list รายการตัวระบุของปฏิทินภายในกลุ่ม
calendars object รายการข้อมูลว่าง/ไม่ว่างสำหรับปฏิทิน
calendars.(key) nested object การขยายสถานะว่าง/ไม่ว่างสำหรับปฏิทินเดียว
calendars.(key).errors[] list ข้อผิดพลาดที่ไม่บังคับ (หากการคำนวณปฏิทินล้มเหลว)
calendars.(key).errors[].domain string โดเมนหรือหมวดหมู่ทั่วไปของข้อผิดพลาด
calendars.(key).errors[].reason string เหตุผลที่เฉพาะเจาะจงของข้อผิดพลาด ค่าที่เป็นไปได้บางค่าได้แก่:
  • "groupTooBig" - กลุ่มผู้ใช้ที่ขอมีขนาดใหญ่เกินไปสำหรับคำค้นหาเดียว
  • "tooManyCalendarsRequested" - จำนวนปฏิทินที่ขอมากเกินไปสำหรับคำค้นหาเดียว
  • "notFound" ไม่พบทรัพยากรที่ขอ
  • "internalError" - บริการ API พบข้อผิดพลาดภายใน
อาจมีการเพิ่มประเภทข้อผิดพลาดอื่นๆ ในอนาคต ดังนั้นลูกค้าควรจัดการกับสถานะข้อผิดพลาดเพิ่มเติมที่ไม่มีอยู่ในรายการนี้อย่างเหมาะสม
calendars.(key).busy[] list รายการช่วงเวลาที่ถือว่าไม่ว่างในปฏิทินนี้
calendars.(key).busy[].start datetime จุดเริ่มต้นของระยะเวลา (นับรวมด้วย)
calendars.(key).busy[].end datetime วันที่สิ้นสุด (ไม่รวม) ระยะเวลา

ลองใช้เลย

ใช้ API Explorer ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลแบบเรียลไทม์และดูการตอบสนอง