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 จำนวนสูงสุดของตัวระบุปฏิทินที่จะระบุสำหรับ 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
        }
      ]
    }
  }
}
ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย หมายเหตุ
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" - จำนวนปฏิทินที่ต้องการมีขนาดใหญ่เกินไปสำหรับการค้นหา 1 ครั้ง
  • "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" - จำนวนปฏิทินที่ต้องการมีขนาดใหญ่เกินไปสำหรับการค้นหา 1 ครั้ง
  • "notFound" - ไม่พบทรัพยากรที่ขอ
  • "internalError" - บริการ API พบข้อผิดพลาดภายใน
อาจมีการเพิ่มประเภทข้อผิดพลาดอื่นๆ ในอนาคต ลูกค้าจึงควรจัดการกับสถานะข้อผิดพลาดเพิ่มเติมที่ไม่รวมอยู่ในรายการนี้อย่างรอบคอบ
calendars.(key).busy[] list รายการช่วงเวลาที่ปฏิทินนี้ควรถือว่าไม่ว่าง
calendars.(key).busy[].start datetime จุดเริ่มต้น (รวม) ของระยะเวลา
calendars.(key).busy[].end datetime จุดสิ้นสุด (ไม่รวม) ของระยะเวลา

ลองใช้งาน

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