Freebusy: query

Zwraca informacje o stanie Wolny/Zajęty dla zestawu kalendarzy. Wypróbuj

Żądanie

Żądanie HTTP

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

Autoryzacja

Ta prośba umożliwia autoryzację z co najmniej jednym z tych zakresów:

Zakres
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

Więcej informacji znajdziesz na stronie Uwierzytelnianie i autoryzacja.

Treść żądania

Dane w treści żądania muszą mieć poniższy format:

{   "timeMin": datetime,   "timeMax": datetime,   "timeZone": string,   "groupExpansionMax": integer,   "calendarExpansionMax": integer,   "items": [     {       "id": string     }   ] }
Nazwa usługi Wartość Opis Uwagi
timeMin datetime Początek przedziału dla zapytania sformatowany zgodnie ze standardem RFC3339.
timeMax datetime Koniec przedziału czasu zapytania sformatowany zgodnie z RFC3339.
timeZone string Strefa czasowa używana w odpowiedzi. Opcjonalnie: Wartość domyślna to UTC.
groupExpansionMax integer Maksymalna liczba identyfikatorów kalendarza, które można podać dla jednej grupy. Opcjonalnie: W przypadku grupy, która ma więcej członków niż ta wartość, zwracany jest błąd. Maksymalna wartość to 100.
calendarExpansionMax integer Maksymalna liczba kalendarzy, dla których mają być udostępniane informacje o stanie Wolny/Zajęty. Opcjonalnie: Maksymalna wartość to 50.
items[] list Lista kalendarzy lub grup, których dotyczy zapytanie.
items[].id string Identyfikator kalendarza lub grupy.

Odpowiedź

Jeśli operacja się powiedzie, metoda zwróci odpowiedź o tej strukturze:

{   "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         }       ]     }   } }
Nazwa usługi Wartość Opis Uwagi
kind string Typ zasobu („calendar#freeBusy”).
timeMin datetime Początek przedziału.
timeMax datetime Koniec przedziału.
groups object Rozwinięcie grup.
groups.(key) nested object Lista kalendarzy należących do tej grupy.
groups.(key).errors[] list Opcjonalne błędy (jeśli obliczenia dla grupy się nie powiodły).
groups.(key).errors[].domain string Domena lub ogólna kategoria błędu.
groups.(key).errors[].reason string Konkretna przyczyna błędu. Oto niektóre z możliwych wartości:
  • groupTooBig” – grupa użytkowników jest zbyt duża na potrzeby pojedynczego zapytania.
  • tooManyCalendarsRequested” – liczba żądanych kalendarzy jest zbyt duża na potrzeby pojedynczego zapytania.
  • notFound” – nie znaleziono żądanego zasobu.
  • internalError” – usługa interfejsu API napotkała błąd wewnętrzny.
W przyszłości możemy dodać dodatkowe typy błędów, dlatego klienci powinni odpowiednio obsługiwać dodatkowe stany błędów, które nie są uwzględnione na tej liście.
groups.(key).calendars[] list Lista identyfikatorów kalendarzy w grupie.
calendars object Lista informacji o stanie Wolny/Zajęty dla kalendarzy.
calendars.(key) nested object rozszerzenia wolne/zajęte dla jednego kalendarza,
calendars.(key).errors[] list Opcjonalne błędy (jeśli obliczenia dla kalendarza nie powiodły się).
calendars.(key).errors[].domain string Domena lub ogólna kategoria błędu.
calendars.(key).errors[].reason string Konkretna przyczyna błędu. Oto niektóre z możliwych wartości:
  • groupTooBig” – grupa użytkowników jest zbyt duża na potrzeby pojedynczego zapytania.
  • tooManyCalendarsRequested” – liczba żądanych kalendarzy jest zbyt duża na potrzeby pojedynczego zapytania.
  • notFound” – nie znaleziono żądanego zasobu.
  • internalError” – usługa interfejsu API napotkała błąd wewnętrzny.
W przyszłości możemy dodać dodatkowe typy błędów, dlatego klienci powinni odpowiednio obsługiwać dodatkowe stany błędów, które nie są uwzględnione na tej liście.
calendars.(key).busy[] list Lista przedziałów czasu, w których ten kalendarz powinien być uważany za zajęty.
calendars.(key).busy[].start datetime Początek (włącznie) okresu.
calendars.(key).busy[].end datetime Koniec (nie wliczając) okresu.

Wypróbuj

Aby wywołać tę metodę na podstawie danych na żywo i zobaczyć odpowiedź, użyj narzędzia APIs Explorer.