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 を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認します。