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
    }
  ]
}
ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย หมายเหตุ
timeMin datetime จุดเริ่มต้นของช่วงเวลาสําหรับคําค้นหาในรูปแบบ RFC3339
timeMax datetime จุดสิ้นสุดของช่วงเวลาสําหรับคําค้นหาในรูปแบบ RFC3339
timeZone string เขตเวลาที่ใช้ในการตอบกลับ ไม่บังคับ ค่าเริ่มต้นคือ UTC
groupExpansionMax integer จํานวนสูงสุดของตัวระบุปฏิทินที่จะมีให้สําหรับกลุ่มเดียว ไม่บังคับ ระบบจะแสดงผลข้อผิดพลาดสําหรับกลุ่มที่มีสมาชิกมากกว่าค่านี้ ค่าสูงสุดคือ 100
calendarExpansionMax integer จํานวนปฏิทินสูงสุดที่จะระบุข้อมูล Freeสุดคึกคัก ไม่บังคับ ค่าสูงสุดคือ 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
        }
      ]
    }
  }
}
ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย หมายเหตุ
kind string ประเภทของทรัพยากร ("calendar#freeไม่ว่าง")
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 ด้านล่างเพื่อเรียกใช้วิธีการนี้สําหรับข้อมูลสดและดูการตอบกลับ