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
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 1 つのグループに指定できるカレンダー ID の最大数。省略可。この値を超えるメンバー数があるグループに対しては、エラーが返されます。最大値は 100 です。
calendarExpansionMax integer 空き時間情報の提供対象となるカレンダーの最大数。省略可。最大値は 50 です。
items[] list クエリするカレンダーまたはグループのリスト。
items[].id string カレンダーまたはグループの ID。

レスポンス

成功すると、このメソッドは次の構造を含むレスポンスの本文を返します。

{
  "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」- リクエストされたユーザー グループが 1 つのクエリに収まりきらない。
  • tooManyCalendarsRequested」- リクエストされたカレンダーの数が多すぎて、1 つのクエリで処理できない。
  • notFound」- リクエストされたリソースが見つかりませんでした。
  • internalError」- API サービスで内部エラーが発生しました。
今後、追加のエラータイプが追加される可能性があるため、クライアントは、このリストに含まれていない追加のエラー ステータスを適切に処理する必要があります。
groups.(key).calendars[] list グループ内のカレンダーの ID のリスト。
calendars object カレンダーの空き時間情報のリスト。
calendars.(key) nested object 1 つのカレンダーの空き時間情報の拡張。
calendars.(key).errors[] list エラー(カレンダーの計算が失敗した場合)。
calendars.(key).errors[].domain string エラーのドメイン(大まかなカテゴリ)。
calendars.(key).errors[].reason string エラーの具体的な理由。指定できる値は次のとおりです。
  • groupTooBig」- リクエストされたユーザー グループが 1 つのクエリに収まりきらない。
  • tooManyCalendarsRequested」- リクエストされたカレンダーの数が多すぎて、1 つのクエリで処理できない。
  • notFound」- リクエストされたリソースが見つかりませんでした。
  • internalError」- API サービスで内部エラーが発生しました。
今後、追加のエラータイプが追加される可能性があるため、クライアントは、このリストに含まれていない追加のエラー ステータスを適切に処理する必要があります。
calendars.(key).busy[] list このカレンダーを空き時間と見なす必要がある期間のリスト。
calendars.(key).busy[].start datetime 期間の開始日(その日付を含む)。
calendars.(key).busy[].end datetime 期間の終了日時(指定した日時は含まない)。

試してみよう:

以下の API Explorer を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認します。