Ograniczenia i limity chronią infrastrukturę Google przed automatycznym procesem, który korzysta z interfejsu Alert Center API w niewłaściwy sposób. Nadmierna liczba żądań z interfejsu API może wynikać z nieszkodliwego literówki lub nieskutecznie zaprojektowanego 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 danego dewelopera nie wpływają negatywnie na całą społeczność.
W mało prawdopodobnym przypadku niepowodzenia żądania do interfejsu API otrzymasz odpowiedź z kodem stanu HTTP. Kod stanu 403
zawiera informacje o błędach dotyczących 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 Twoja aplikacja może wykryć te błędy i podjąć odpowiednie działania.
Jeśli żądania muszą zostać wykonane w ustalonym czasie, wysyłaj je równolegle lub korzystaj z wielu wątków w aplikacji w języku Java lub C#. Przykładem żądań równoległych jest wysyłanie próśb o przesyłanie małych grup 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 spróbuj zacząć od 10 wątków – po jednym na adres e-mail użytkownika. Pamiętaj, że rekomendacja wątków ma swoje 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 opartych na czasie (maksymalnie N s przez N s na wątek), zwłaszcza błędów kodu stanu 503 zalecamy wychwycenie wyjątku i za pomocą algorytmu wykładniczego ponowienia poczekać z niewielkim opóźnieniem, zanim spróbujesz ponownie wykonać nieudane wywołanie. Przykładem interfejsu Alert Center API w przypadku 1 wątku jest odczekanie 5 sekund i ponowienie nieudanego wywołania. Jeśli żądanie zostanie zrealizowane, powtórz ten wzorzec w przypadku innych wątków. Jeśli drugie żądanie nie powiedzie się, aplikacja powinna ograniczyć częstotliwość do tego żądania. Możesz na przykład zwiększyć początkowe 5-sekundowe opóźnienie do 10 sekund i ponownie spróbować wykonać nieudane połączenie. Ustal też limit ponownych prób. Na przykład ponów próbę 5–7 razy z różnymi czasami opóźnienia, zanim aplikacja zwróci użytkownikowi błąd.
Kategorie limitów interfejsu API | Limity |
---|---|
Częstotliwość zapytań na sekundę i QPD w Centrum alertów | Interfejs API ogranicza liczbę żądań dla projektu w Konsoli interfejsów API. Maksymalna liczba żądań na sekundę w projekcie interfejsu API (QPS) to 1000. Maksymalna liczba żądań na użytkownika na sekundę (QPS) to 150.
Po przekroczeniu tych limitów serwer zwraca kod stanu HTTP |
Inne typy limitów | Ograniczenia i wytyczne |
---|---|
Format danych, domyślny | Domyślny format danych to JSON. |
Nieautoryzowane żądania | Google nie zezwala na nieautoryzowane żądania wysyłane do tego interfejsu API. Jeśli nie podano tokena autoryzacji, żądanie jest uznawane za nieautoryzowane. Więcej informacji znajdziesz w artykule Autoryzacja próśb. |
Poproś o zwiększenie limitu na projekt
W zależności od wykorzystania zasobów w projekcie możesz poprosić o zwiększenie limitu. Wywołania interfejsu API przez konto usługi są uznawane za korzystające z jednego konta. Prośba o zwiększenie limitu nie gwarantuje jego zatwierdzenia. Zatwierdzenie dużego zwiększenia limitu może potrwać dłużej.
Nie wszystkie projekty mają takie same limity. Z czasem będziesz korzystać z Google Cloud w miarę zwiększania limitów. Jeśli spodziewasz się znacznego wzrostu wykorzystania, możesz z wyprzedzeniem poprosić o korektę limitów na stronie Limity w konsoli Google Cloud.
Więcej informacji znajdziesz w tych materiałach:
- Prośby o zwiększenie limitu
- Wyświetlanie bieżącego wykorzystania limitów i limitów
- Wysyłanie prośby o zwiększenie limitu