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 つのグループに指定できるカレンダー ID の最大数。(省略可)この値よりも多くのメンバーが含まれるグループについては、エラーが返されます。最大値は 100 です。
calendarExpansionMax integer FreeBusiness を提供するカレンダーの最大数。(省略可)最大値は 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#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」 - リクエストされたユーザー グループのサイズが大きすぎるため、1 つのクエリに対して行えません。
  • tooManyCalendarsRequested」 - リクエストされたカレンダーの数が 1 つのクエリには多すぎます。
  • notFound」 - リクエストされたリソースが見つかりませんでした。
  • internalError」 - API サービスで内部エラーが発生しました。
今後、別のエラータイプが追加される可能性があるため、このリストに含まれていないエラー ステータスはクライアントで適切に処理する必要があります。
groups.(key).calendars[] list グループ内のカレンダーの識別子のリスト。
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 を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認してください。