Limity i limity wykorzystania chronią infrastrukturę Google przed zautomatyzowanymi procesami, które wykorzystują interfejs Directory API w nieprawidłowy sposób. Nadmierna liczba żądań z interfejsu API może wynikać z niegroźnej literówki lub 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 konieczne dla ogólnego stanu systemu Google Workspace. Dzięki temu działania jednego dewelopera nie mogą mieć negatywnego wpływu na większą społeczność.
W mało prawdopodobnym przypadku niepowodzenia żądania do interfejsu API zwraca on kod stanu HTTP i przyczynę błędu. Dodatkowo treść odpowiedzi zawiera szczegółowy opis przyczyny błędu.
Poniższa lista zawiera możliwe kody błędów, przyczyny, odpowiadające im opisy i zalecane działania w przypadku błędów spowodowanych osiągnięciem limitów.
| Kod | Przyczyna | Opis | Zalecane działanie |
|---|---|---|---|
| 403 | userRateLimitExceeded | Wskazuje, że limit liczby żądań użytkownika został przekroczony. Wartość domyślna ustawiona w konsoli Google Cloud to 2400 zapytań na minutę na użytkownika na projekt w chmurze Google Cloud. | Zwiększ limity na użytkownika na stronie Limitów interfejsu Admin SDK API w projekcie Google Cloud lub zmniejsz częstotliwość wysyłania żądań, korzystając z wzrastającego czasu do ponowienia. |
| 403 | quotaExceeded | Wskazuje, że został osiągnięty limit żądań równoczesnych dla określonej operacji. | Spróbuj ponownie, używając algorytmu Exponential back-off. Musisz zmniejszyć częstotliwość wysyłania żądań. |
| 429 | rateLimitExceeded | Wskazuje, że został osiągnięty limit żądań równoczesnych dla określonej operacji. | Spróbuj ponownie, używając wykładniczego algorytmu ponawiania. 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ć. |
Implementowanie wzrastającego czasu do ponowienia
Wzrastający czas do ponowienia to proces, w którym klient okresowo ponawia nieudane żądanie, zwiększając czas między kolejnymi próbami. Jest to standardowa strategia obsługi błędów w aplikacjach sieciowych. Zastosowanie wzrastającego czasu do ponowienia zwiększa efektywność wykorzystania przepustowości, zmniejsza liczbę żądań wymaganych do uzyskania odpowiedzi i maksymalizuje przepustowość żądań w środowiskach równoległych.
Proces implementacji prostego wzrastającego czasu do ponowienia wygląda następująco:
- Wysyłanie żądania do interfejsu API
- Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 1 s +
random_number_millisecondss - Ponów prośbę
- Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 2 s +
random_number_millisecondss - Ponów prośbę
- Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 4 s +
random_number_millisecondss - Ponów prośbę
- Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
- Odczekaj 8 s +
random_number_millisecondss - Ponów prośbę
- Odbieranie 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 się i zarejestruj go.
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 blokady w niektórych implementacjach równoczesnych.
Po każdym oczekiwaniu należy ponownie zdefiniować zmienną random_number_milliseconds.
Uwaga: czas oczekiwania zawsze wynosi (2 ^ n) + random_number_milliseconds, gdzie n to monotonicznie rosnąca liczba całkowita, która początkowo wynosi 0. n jest zwiększana o 1 przy każdej iteracji (każdym żądaniu).
Algorytm jest ustawiony tak, aby kończył działanie, gdy n = 5. Ten limit ma na celu jedynie uniemożliwienie klientom nieskończonego ponawiania prób i powoduje, że żądanie jest uznawane za „nieodwracalny błąd” po upływie około 32 sekund. W razie potrzeby klient interfejsu API może wykonać 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żna utworzyć więcej niż 10 użytkowników na domenę na sekundę. |
| Usuwanie kont użytkowników | Za pomocą interfejsu Directory API możesz usunąć maksymalnie 5 użytkowników na sekundę w każdej domenie. Jest to limit usługi backendu na domenę, którego nie można dostosować w limitach projektu w konsoli Google Cloud. Wysyłając żądania zbiorcze, upewnij się, że łączna liczba operacji we wszystkich zbiorach nie przekracza 5 zapytań na sekundę (QPS). |
| Usuwanie członków grupy | Za pomocą interfejsu Directory API możesz usunąć maksymalnie 30 członków grupy na domenę na sekundę. Jest to limit usługi backendu na domenę, którego nie można dostosować w limitach projektu w konsoli Google Cloud. Wysyłając żądania zbiorcze, upewnij się, że łączna liczba operacji we wszystkich zbiorach nie przekracza 30 zapytań na sekundę (QPS). |
| Grupa dodana jako członek innej grupy | Zanim członkowie grupy podrzędnej pojawią się jako członkowie grupy nadrzędnej, może minąć do 10 minut. Ten limit może się zmienić w zależności od wydajności systemu. |
| Urządzenia mobilne |
Za pomocą interfejsu Directory API możesz wykonać maksymalnie:
|
| Zmienianie nazw kont użytkowników | Zastosowanie zmian we wszystkich usługach może potrwać do 10 minut. Przed zmianą nazwy użytkownika zalecamy wylogowanie go ze wszystkich sesji przeglądarki i usług. Więcej informacji znajdziesz w artykule Aktualizowanie kont 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 notatkach dotyczących urządzenia to 500. |
Urządzenia z Chrome, maksymalnie user znaków
|
Maksymalna liczba znaków w nazwie użytkownika urządzenia to 100. |
| Aliasy domen, maksymalnie | Maksymalna liczba aliasów domeny to 20. |
| Grupy, opis | Maksymalna liczba znaków w opisie to 4096. |
| Grupy na konto | Na koncie wycofanej bezpłatnej wersji G Suite liczba grup jest ograniczona do 10. W innych wersjach nie ma limitu liczby grup. |
| Grupy, członkowie w grupie | Na koncie wycofanej, bezpłatnej wersji G Suite grupa może mieć maksymalnie 100 członków. W innych wersjach nie ma limitu liczby członków grupy. Informacje o limitach członkostwa w grupach na użytkownika 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 dozwolona 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żytkowników muszą już istnieć na koncie. |
| Aliasy użytkowników | Łączna liczba aliasów dozwolonych na każdym koncie użytkownika wynosi 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 wskazówki |
|---|---|
| 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 na finanse i spowoduje naliczenie opłat na koncie rozliczeniowym klienta. Jeśli na przykład korzystasz z abonamentu elastycznego Google Workspace, utworzenie 10 użytkowników spowoduje naliczenie opłat za 10 licencji Google Workspace, proporcjonalnie od momentu utworzenia. Jeśli masz subskrypcję roczną, zobowiązujesz się do zapłaty z góry za określoną liczbę licencji i możesz utworzyć tylko tyle kont użytkowników, ile wynosi Twoje zobowiązanie. Więcej informacji o abonamentach i koncie rozliczeniowym znajdziesz w Centrum pomocy dla administratorów. |
| Imię i nazwisko | Imię i nazwisko mogą mieć maksymalnie 40 znaków. Obsługują znaki Unicode/UTF-8 i mogą zawierać 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 tej grupy. |
| Zmiana adresu e-mail grup i członków grup | 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 | Ustawienia dostępu do grup, opcje udostępniania, monitorowanie i archiwum dyskusji są zarządzane za pomocą konsoli administracyjnej Google. Więcej informacji o ustawieniach grup znajdziesz w Centrum pomocy dla administratorów. |
| Grupy, wysyłanie wiadomości | Aby zapobiegać spamowi i nadużyciom związanym z pocztą 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 zewnętrzny członek grupy będzie 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 dyskusyjne, wysyłanie wiadomości o niedostarczeniu | Nie możesz wysyłać ani przekazywać do grupy raportów o niedostarczeniu, nazywanych też wiadomościami o problemie z dostarczeniem. |
| Grupy utworzone przez użytkowników, ograniczenia | Informacje o limitach grup utworzonych 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 włączać i wyłączać usługi dla jednostki 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 (.). Google Workspace rozpoznaje kropki lub okresy (.). To nie to samo co w Gmailu. Nazwa użytkownika nie może zawierać znaku równości (=), ostrych nawiasów (<,>) ani więcej niż 1 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 zgodę na czatowanie ze znajomymi. Stara nazwa użytkownika zostanie zachowana jako alias e-mail, aby zapewnić ciągłość dostarczania poczty w przypadku ustawień przekierowania poczty e-mail, i nie będzie dostępna jako nowa nazwa użytkownika. Ważne informacje o wpływie zmiany nazwy użytkownika znajdziesz w Centrum pomocy dla administratorów. Aby usunąć alias e-mail po zmianie nazwy, użyj operacji Usuwanie aliasu użytkownika. |
| Użytkownicy w wielu domenach | Konto Google Workspace może obejmować dowolne 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:
|
| Ostrzeżenia, członkowie grupy | GROUP_CANNOT_CONTAIN_CYCLE – interfejs API nie zezwala na cykl w członkostwie w grupie. Jeśli na przykład grupa1 jest członkiem grupy2, grupa2 nie może być członkiem grupy1. |