Limity i kwoty chronią infrastrukturę Google przed zautomatyzowanymi procesami, które wykorzystują interfejs Directory API w nieodpowiedni sposób. Nadmierna liczba żądań z interfejsu API może wynikać z nieszkodliwego błędu w pisowni lub z nieefektywnie 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ó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 interfejs API zwraca kod stanu HTTP i przyczynę błędu. Dodatkowo treść odpowiedzi zawiera szczegółowy opis przyczyny błędu.
Poniżej znajdziesz listę możliwych kodów błędów, przyczyn, odpowiednich opisów i zalecanych działań w przypadku błędów spowodowanych przekroczeniem limitów.
| Kod | Przyczyna | Opis | Zalecane działanie |
|---|---|---|---|
| 403 | userRateLimitExceeded | Wskazuje, że przekroczono limit na użytkownika. Wartość domyślna ustawiona w konsoli Google Cloud to 2400 zapytań na minutę na użytkownika na projekt Google Cloud. | Zwiększ limity dla poszczególnych użytkowników na stronie limitów interfejsu Admin SDK API w projekcie Google Cloud lub zmniejsz częstotliwość wysyłania żądań za pomocą wycofywania wykładniczego. |
| 403 | quotaExceeded | Wskazuje, że osiągnięto limit jednoczesnych żądań dla określonej operacji. | Ponów próbę, korzystając z algorytmu Exponential back-off. Musisz zmniejszyć częstotliwość wysyłania żądań. |
| 429 | rateLimitExceeded | Wskazuje, że osiągnięto limit jednoczesnych żądań dla określonej operacji. | Ponów próbę, stosując wzrastający czas do ponowienia. Musisz zmniejszyć częstotliwość wysyłania żądań. Ten limit dotyczy konta Google Workspace, a nie klienta interfejsu API ani użytkownika. Tego limitu nie można zwiększyć. |
Wdrażanie wzrastającego czasu do ponowienia
Wzrastający czas do ponowienia to proces, w którym klient okresowo ponawia nieudane żądanie przez coraz dłuższy czas. Jest to standardowa strategia obsługi błędów w przypadku aplikacji sieciowych. Stosowanie wzrastającego czasu do ponowienia zwiększa efektywność wykorzystania przepustowości, zmniejsza liczbę żądań potrzebnych do uzyskania odpowiedzi i maksymalizuje przepustowość żądań w środowiskach współbieżnych.
Przepływ implementacji prostego wzrastającego czasu do ponowienia wygląda tak:
- Wysyłanie żądania do interfejsu API
- Otrzymywanie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 1 s +
random_number_millisecondss - Ponów prośbę
- Otrzymywanie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 2 s +
random_number_millisecondss - Ponów prośbę
- Otrzymywanie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 4 s +
random_number_millisecondss - Ponów prośbę
- Otrzymywanie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 8 s +
random_number_millisecondss - Ponów prośbę
- Otrzymywanie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 16 s +
random_number_millisecondss - Ponów prośbę
- Jeśli błąd nadal występuje, zatrzymaj proces i zarejestruj błąd.
W powyższym procesie random_number_milliseconds to losowa liczba milisekund mniejsza lub równa 1000. Jest to konieczne, aby uniknąć pewnych błędów blokowania w niektórych implementacjach współbieżnych.
random_number_milliseconds musi być ponownie zdefiniowane po każdym oczekiwaniu.
Uwaga: czas oczekiwania jest zawsze równy (2 ^ n) + random_number_milliseconds, gdzie n to rosnąca monotonicznie liczba całkowita, która początkowo wynosi 0. W każdej iteracji (każdym żądaniu) n jest zwiększane o 1.
Algorytm ma się zakończyć, gdy n = 5. Ten limit ma na celu jedynie powstrzymanie klientów przed nieskończonym powtarzaniem prób i powoduje, że łączne opóźnienie przed uznaniem żądania za „błąd nie do odzyskania” wynosi około 32 sekundy. W razie potrzeby klient interfejsu API może zaimplementować większą liczbę prób.
Limity interfejsu API
| Kategorie limitów interfejsu API | Limity |
|---|---|
| Tworzenie użytkowników | Za pomocą interfejsu Directory API nie możesz tworzyć więcej niż 10 użytkowników na sekundę w przypadku każdej domeny. |
| Grupa dodana jako członek innej grupy | Może wystąpić opóźnienie do 10 minut, zanim członkowie grupy podrzędnej pojawią się jako członkowie grupy nadrzędnej. Ten limit może się zmieniać w zależności od możliwości systemu. |
| Urządzenia mobilne |
Za pomocą interfejsu Directory API możesz wykonać maksymalnie:
|
| Zmienianie nazw użytkowników | Może potrwać do 10 minut, zanim zmiany zostaną zastosowane we wszystkich usługach. Przed zmianą nazwy użytkownika zalecamy wylogowanie go ze wszystkich sesji przeglądarki i usług. Więcej informacji znajdziesz w artykule Aktualizowanie użytkowników. |
| Tworzenie i aktualizowanie jednostek organizacyjnych |
|
| Kategorie limitów interfejsu API | Limity |
Urządzenia z Chrome annotatedLocation, maksymalna liczba znaków
|
Maksymalna liczba znaków w informacjach o lokalizacji urządzenia to 200. |
Urządzenia z Chrome notes, maksymalna liczba znaków
|
Maksymalna liczba znaków w informacjach o urządzeniu to 500. |
Urządzenia z Chrome, maksymalnie user znaków
|
Maksymalna liczba znaków w nazwie użytkownika urządzenia to 100. |
| Maksymalna liczba aliasów domen | Maksymalna liczba aliasów domeny to 20. |
| Grupy, opis | Maksymalna liczba znaków w opisie to 4096. |
| Grupy na konto | W przypadku konta wycofanej bezpłatnej wersji G Suite liczba grup jest ograniczona do 10. W innych wersjach nie ma ograniczeń co do liczby grup. |
| Grupy, liczba członków w grupie | W przypadku konta wycofanej, bezpłatnej wersji G Suite grupa może zawierać do 100 osób. W przypadku innych wersji nie ma limitu liczby członków grupy. Limity członkostwa w grupach dla poszczególnych użytkowników znajdziesz w artykule Omówienie zasad i ograniczeń obowiązujących w Grupach dyskusyjnych. |
| Ciąg zapytania maxResults | Interfejs API zwraca:
|
| Wiele domen, maksymalna liczba domen dozwolonych na koncie | 600 (1 domena podstawowa + 599 domen dodatkowych) |
| Jednostka organizacyjna, maksymalna liczba użytkowników przenoszonych jednocześnie | Jednocześnie można przenieść 20 użytkowników. Podstawowe adresy e-mail użytkownika muszą już istnieć na koncie. |
| Aliasy użytkowników | Łączna liczba aliasów dozwolonych na każdym koncie użytkownika to 30. |
| Aliasy użytkowników, używanie usuniętego aliasu | Usunięty alias użytkownika można od razu użyć ponownie. |
| Inne rodzaje limitów | Ograniczenia i wytyczne |
|---|---|
| Płatności i tworzenie użytkowników | W przypadku użytkowników korzystających z abonamentu elastycznego Google Workspace tworzenie użytkowników za pomocą tego interfejsu API będzie miało wpływ finansowy i spowoduje naliczenie opłat na koncie rozliczeniowym klienta. Jeśli na przykład korzystasz z elastycznego abonamentu Google Workspace, utworzenie 10 użytkowników spowoduje naliczenie na Twoim koncie opłat za 10 licencji Google Workspace, proporcjonalnie do czasu od momentu utworzenia. Jeśli masz abonament roczny, musisz z góry zapłacić za określoną liczbę licencji i możesz utworzyć tylko tylu użytkowników, ilu obejmuje Twoje zobowiązanie. Więcej informacji o abonamentach i koncie rozliczeniowym znajdziesz w Centrum pomocy dla administratorów. |
| Imię i nazwisko | Imiona i nazwiska mogą mieć maksymalnie 40 znaków. Mogą zawierać znaki Unicode/UTF-8, spacje, litery (a–z), cyfry (0–9), łączniki (-), ukośniki (/) i kropki (.). Więcej informacji o regułach używania znaków znajdziesz w Centrum pomocy dla administratorów. |
| Grupy, usuwanie | Usunięcie grupy nie powoduje usunięcia kont użytkowników należących do członków tej grupy. |
| Grupy i członkowie grup, zmiana adresu e-mail | W tej wersji interfejsu API adres e-mail grupy można zmienić przed włączeniem usługi Google Workspace. Aby zmienić adres e-mail członka grupy, użyj konsoli administracyjnej Google. Po zmianie interfejs API automatycznie odzwierciedla zmiany adresu e-mail. |
| Grupy, ustawienia | Ustawieniami dostępu do grup, opcjami udostępniania, monitorowaniem i archiwum dyskusji zarządza się w konsoli administracyjnej Google. Więcej informacji o ustawieniach grup znajdziesz w Centrum pomocy dla administratorów. |
| Grupy, wysyłanie wiadomości | Aby zapobiec spamowi i nadużyciom poczty e-mail, Google ogranicza liczbę wiadomości, które możesz wysłać jednocześnie do odbiorców zewnętrznych. Jeśli wyślesz wiadomość do grupy, każdy członek zewnętrzny jest liczony jako jeden odbiorca. Więcej informacji znajdziesz w artykułach Limity wysyłania e-maili i Zapobieganie blokowaniu i umieszczaniu w folderze Spam e-maili wysyłanych do użytkowników Gmaila . |
| Grupy, wysyłanie wiadomości NDR | Do grupy nie można wysyłać ani przekazywać potwierdzeń niedostarczenia wiadomości (tzw. odesłanych wiadomości). |
| Grupy utworzone przez użytkowników, ograniczenia | Limity grup tworzonych przez użytkowników znajdziesz w centrum pomocy dla administratorów. |
| Jednostka organizacyjna, włączanie i wyłączanie usług | W konsoli administracyjnej Google możesz zarządzać włączaniem i wyłączaniem usług w jednostce organizacyjnej. |
| Hasła | Może zawierać dowolną kombinację znaków. Wymagane jest co najmniej 8 znaków. Maksymalna długość to 100 znaków. |
| Zdjęcia | W tej wersji interfejsu API zdjęcie to najnowsze zdjęcie profilowe użytkownika w Google. |
| Nazwy użytkowników | Nazwy użytkowników mogą zawierać litery (a–z), cyfry (0–9), łączniki (-), podkreślenia (_) i kropki (.). Nie jest to to samo co w Gmailu. Nazwa użytkownika nie może zawierać znaku równości (=), nawiasów (<,>) ani więcej niż jednej kropki (.) z rzędu. Więcej informacji znajdziesz w Centrum pomocy dla administratorów. |
| Nazwy użytkowników, zmiana nazwy | Po zmianie nazwy Google Hangouts odrzuca wszystkie zapamiętane zaproszenia do czatu. Użytkownik musi ponownie poprosić o uprawnienia do czatowania ze znajomymi. Stara nazwa użytkownika jest zachowywana jako alias e-mail, aby zapewnić nieprzerwane dostarczanie poczty w przypadku ustawień przekazywania poczty e-mail. Nie będzie ona dostępna jako nowa nazwa użytkownika. Ważne informacje o wpływie zmiany nazwy użytkowników znajdziesz w Centrum pomocy dla administratorów. Po zmianie nazwy użyj operacji Usuwanie aliasu użytkownika, aby usunąć alias e-mail. |
| Użytkownicy w wielu domenach | Konto Google Workspace może obejmować dowolne Twoje domeny. Na koncie z wieloma domenami użytkownicy w jednej domenie mogą udostępniać usługi użytkownikom w innych domenach konta. Komponenty wielu domen to:
|
| Ostrzeżenia, członkowie grupy | GROUP_CANNOT_CONTAIN_CYCLE – interfejs API nie zezwala na cykliczne członkostwo w grupach. Jeśli np. grupa1 jest członkiem grupy2, grupa2 nie może być członkiem grupy1. |