Freebusy: query

캘린더 세트의 한가함/바쁨 정보를 반환합니다. 지금 사용해 보기

요청

HTTP 요청

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

승인

이 요청은 다음 범위 중 하나 이상으로 승인할 수 있습니다.

범위
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.freebusy

자세한 내용은 인증 및 승인 페이지를 참고하세요.

요청 본문

요청 본문에 다음과 같은 구조의 데이터를 제공합니다.

{
  "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 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' - 요청된 캘린더 수가 단일 쿼리에 너무 많습니다.
  • '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 탐색기를 사용하여 실시간 데이터를 대상으로 이 메소드를 호출하고 응답을 확인해 보세요.