Limity

Limity i kwoty chronią infrastrukturę Google przed zautomatyzowanymi procesami, które wykorzystują interfejs Reports API w niewłaściwy sposób. Nadmierna liczba żądań z interfejsu API może być spowodowana nieszkodliwą literówką lub nieefektywnie zaprojektowanym systemem, który wykonuje niepotrzebne wywołania interfejsu API. Niezależnie od przyczyny blokowanie ruchu z określonego źródła po osiągnięciu określonego poziomu jest niezbędne dla ogólnej kondycji systemu Google Workspace. Dzięki temu działania jednego dewelopera nie mogą negatywnie wpłynąć na większą społeczność.

W mało prawdopodobnym przypadku niepowodzenia żądania interfejsu API otrzymasz kod stanu HTTP. Kod stanu 403 zawiera informacje o błędnych danych wejściowych, a kod stanu HTTP 503 zawiera informacje o tym, które limity interfejsu API zostały przekroczone. Te odpowiedzi umożliwiają aplikacji niestandardowej wykrywanie błędów i podejmowanie odpowiednich działań.

Jeśli Twoje żądania muszą zostać zrealizowane w określonym czasie, wysyłaj je równolegle lub używaj wielu wątków w aplikacji w języku Java lub C#. Przykładem żądań równoległych jest wysyłanie próśb o małe partie e-maili od różnych użytkowników zamiast dodawania lub usuwania wielu e-maili od jednego użytkownika jednocześnie. W przypadku wątków zacznij od 10 wątków, po jednym na adres e-mail użytkownika. Pamiętaj, że zalecenie dotyczące wątków ma swoje wady i nie jest przydatne we wszystkich sytuacjach związanych z interfejsem API. Jeśli liczba żądań będzie zbyt wysoka, wystąpią błędy związane z limitem.

W przypadku wszystkich błędów związanych z czasem (maksymalnie N elementów przez N sekund na wątek), zwłaszcza błędów z kodem stanu 503, zalecamy, aby kod przechwytywał wyjątek i za pomocą algorytmu wykładniczego wycofywania odczekiwał krótką chwilę przed ponowną próbą wykonania nieudanego wywołania. Przykładem użycia interfejsu Reports API w przypadku jednego wątku jest odczekanie 5 sekund i ponowienie nieudanego wywołania. Jeśli żądanie zostanie zrealizowane, powtórz ten wzorzec w przypadku pozostałych wątków. Jeśli druga prośba nie zostanie zrealizowana, aplikacja powinna zmniejszyć częstotliwość wysyłania próśb, dopóki nie zostanie zrealizowana. Możesz na przykład wydłużyć początkowe 5-sekundowe opóźnienie do 10 sekund i ponownie spróbować wykonać połączenie, które się nie powiodło. Określ też limit ponownych prób. Na przykład ponów żądanie 5–7 razy z różnymi czasami opóźnienia, zanim aplikacja zwróci użytkownikowi błąd.

Limity

Kategorie limitów interfejsu API Limity
Raportowanie liczby zapytań na sekundę i zapytań na dzień Interfejs API ogranicza liczbę żądań w projekcie Google Cloud. Wartość domyślna ustawiona w konsoli Google Cloud to 2400 zapytań na minutę na użytkownika na projekt Google Cloud. Ten limit możesz zwiększyć na stronie limitów interfejsu Admin SDK API w projekcie Google Cloud.

Jeśli te limity zostaną przekroczone, serwer zwróci kod stanu HTTP 503. Podczas ponawiania żądań używaj algorytmu odczekiwania wykładniczego.

Dodatkowe limity dla activities.list Interfejs activities.list API ma dodatkowy limit 250 zapytań z filtrem na minutę (15 000 zapytań z filtrem na godzinę). Zapytanie filtra to żądanie do interfejsu API, które zawiera co najmniej 1 z tych parametrów zapytania:
  • userKey
  • actorIpAddress
  • eventName
  • filters
  • orgUnitID
  • groupIdFilter
Kategorie limitów interfejsu API Limity
maxResults Liczba rekordów wymienionych na każdej stronie odpowiedzi interfejsu API wynosi od 0 do 1000. Wartość domyślna to 1000 rekordów.

Inne rodzaje limitów

Inne rodzaje limitów Ograniczenia i wytyczne
Format danych, domyślny Domyślny format danych to JSON. Interfejs API obsługuje też format Atom.
Nieautoryzowane żądania Google nie zezwala na nieautoryzowane żądania wysyłane do interfejsu API. Żądanie jest uznawane za nieautoryzowane, jeśli nie podano tokena autoryzacji. Więcej informacji znajdziesz w artykule Autoryzowanie żądań.
Komunikaty ostrzegawcze
  • Dane niedostępne: dane dotyczące tej aplikacji i tej daty są niedostępne i nie będą dostępne w przyszłości.
  • Dostępne są częściowe dane: dane dotyczące tej aplikacji i tej daty mogą być dostępne w przyszłości.
Składnię ostrzeżeń interfejsu Reports API znajdziesz w dokumentacji API dla klientówużytkowników.

Sprawdzone metody dotyczące metody activities.list

Metoda activities.list jest przeznaczona do kontroli. Aby uzyskać najlepsze wyniki, żądanie powinno zawierać zakres czasu z użyciem parametrów startTimeendTime. Węższe zakresy czasu znacznie przyspieszają czas odpowiedzi. Ta metoda nie jest przeznaczona do pobierania dużych ilości logów kontrolnych. Jeśli regularnie wyczerpujesz limit żądań filtra activities.list, rozważ te opcje:

  • Skonfiguruj eksportowanie dzienników Google Workspace do BigQuery i używaj zaawansowanych interfejsów API zapytań BigQuery, aby pobierać i analizować potrzebne dane bez ograniczeń dotyczących limitu interfejsu API.
  • Zamiast żądań z filtrem używaj żądań bez filtra z zakresem czasu i filtruj po stronie klienta (czyli stosuj logikę filtrowania w aplikacji). Pozwala to przekroczyć limit 250 zapytań o filtr na minutę,ale nadal obowiązuje limit 2400 zapytań na minutę na użytkownika w projekcie Google Cloud.