Limity i limity chronią infrastrukturę Google przed zautomatyzowanym procesem, który korzysta z interfejsu Reports API w niewłaściwy sposób. Nadmierna liczba żądań z interfejsu API może być spowodowana nieszkodliwą literówką lub wynikać z nieefektywnego systemu, 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ólnego stanu systemu Google Workspace. Dzięki temu działania jednego dewelopera nie mogą negatywnie wpływać na większą społeczność.
W bardzo rzadkich przypadkach, gdy żądanie do interfejsu API nie powiedzie się, otrzymasz odpowiedź z kodem stanu HTTP. Kod stanu 403 zawiera informacje o nieprawidłowych danych wejściowych, a kod stanu HTTP 503 – informacje o błędzie wskazujące, które limity interfejsu API zostały przekroczone. Dzięki tym odpowiedziom niestandardowa aplikacja może wykryć te błędy i podjąć odpowiednie działania.
Jeśli Twoje żądania muszą zostać zrealizowane w ustalonym czasie, wysyłaj je równolegle lub korzystaj z wielu wątków w aplikacji Java lub C#. Przykładem żądań równoległych jest wysyłanie próśb o wysłanie małych grup e-maili od różnych użytkowników zamiast dodawania lub usuwania wielu wiadomości od jednego użytkownika jednocześnie. W przypadku wątków spróbuj zacząć od 10 wątków, po jednym na adres e-mail użytkownika. Pamiętaj, że rekomendacja dotycząca wątków ma wady i nie jest przydatna w niektórych sytuacjach związanych z interfejsem API. Jeśli liczba żądań będzie zbyt duża, wystąpią błędy limitu.
W przypadku wszystkich błędów uzależnionych od czasu (maksymalnie N s przez N s na wątek w wątku), zwłaszcza w przypadku błędów kodu stanu 503, zalecamy wychwycenie kodu stanu w kodzie i za pomocą algorytmu wykładniowego ponowienia odczekać z niewielkim opóźnieniem przed ponowną próbą nieudanego wywołania. Przykładem interfejsu Reports API w jednym wątku jest odczekanie 5 sekund i ponowienie nieudanego wywołania. Jeśli żądanie się powiedzie, powtórz ten wzorzec dla pozostałych wątków. Jeśli drugie żądanie nie powiedzie się, aplikacja powinna ograniczyć częstotliwość do tego czasu, aż wywołanie się powiedzie. Możesz na przykład zwiększyć początkowe 5-sekundowe opóźnienie do 10 sekund i ponowić nieudane połączenie. Określ też limit ponownych prób. Na przykład ponawiaj żądanie 5–7 razy z różnymi opóźnieniami, zanim aplikacja zwróci użytkownikowi błąd.
Kategorie limitów interfejsu API | Ograniczenia |
---|---|
Raportowanie współczynników zapytań na sekundę i QPD | Interfejs API ogranicza liczbę żądań dla Twojego projektu Google Cloud.
Wartość domyślna ustawiona w konsoli Google Cloud to 2400 zapytań na minutę na użytkownika na projekt Google Cloud.
Możesz zwiększyć ten limit na stronie Limity interfejsów API pakietu Admin SDK w projekcie Google Cloud.
Po przekroczeniu tych limitów serwer zwraca kod stanu HTTP 503. Ponawiaj żądania za pomocą algorytmu wykładniczego ponowienia. |
Kategorie limitów interfejsu API | Limity |
maxResults | Liczba rekordów wymienionych na każdej stronie odpowiedzi interfejsu API wynosi od 1 do 1000 zdarzeń. Wartość domyślna to 1000 rekordów. |
Inne rodzaje limitów | Ograniczenia i wskazówki |
---|---|
Format danych, domyślny | Domyślnym formatem danych jest 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 jest podany token autoryzacji. Więcej informacji znajdziesz w artykule Autoryzacja próśb. |
Komunikaty ostrzegawcze |
|