Directory API: limity i kwoty

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:

  1. Wysyłanie żądania do interfejsu API
  2. Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
  3. Odczekaj 1 s + random_number_milliseconds s
  4. Ponów prośbę
  5. Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
  6. Odczekaj 2 s + random_number_milliseconds s
  7. Ponów prośbę
  8. Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
  9. Odczekaj 4 s + random_number_milliseconds s
  10. Ponów prośbę
  11. Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
  12. Odczekaj 8 s + random_number_milliseconds s
  13. Ponów prośbę
  14. Odbieranie komunikatu o błędzie z kodem błędu, który można ponowić
  15. Odczekaj 16 s + random_number_milliseconds s
  16. Ponów prośbę
  17. 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:

  • 20 żądań działania na sekundę.
  • 20 żądań usunięcia na sekundę.
  • 10 żądań GET na sekundę.
  • 10 żądań wyświetlenia listy na sekundę.
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
  • Za pomocą interfejsu Directory API nie można utworzyć ani zaktualizować więcej niż 1 jednostki organizacyjnej na klienta na sekundę.
  • Hierarchia jednostek organizacyjnych klienta może mieć maksymalnie 35 poziomów.
  • Łączna liczba jednostek organizacyjnych na klienta nie może przekraczać 40 000.
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:
  • Chrome i urządzenia mobilne – domyślnie i maksymalnie 100 wpisów na stronę.
  • Grupy i członkowie grup – domyślnie i maksymalnie 200 wpisów na stronę.
  • Użytkownicy – domyślnie 100 wpisów i maksymalnie 500 wpisów na stronę.
Zasoby aliasu użytkownika i jednostki organizacyjnej nie używają podziału odpowiedzi na strony. Wszystkie podstawowe adresy e-mail użytkowników są zwracane w porządku alfabetycznym, a kolejność odpowiedzi nie uwzględnia wielkości liter.
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:
  • Domena podstawowa – domena podstawowa Twojego konta to domena administratora, który zaakceptował umowę o świadczenie usług Google Workspace. Ta domena znajduje się na poziomie konta w jednostce organizacyjnej najwyższego poziomu. Podczas rejestracji konta Google Workspace zalecamy użycie domeny firmowej jako domeny podstawowej i zarezerwowanie innych domen do zastosowań specjalistycznych, takich jak testy i wdrożenia pilotażowe.
    • Wszyscy superadministratorzy mogą zarządzać całym kontem.
    • Interfejs API nie może zmienić ani przenieść domeny podstawowej konta Google Workspace. Interfejs API może jednak zmienić nazwę konta użytkownika, zmieniając jego adres e-mail z jednej domeny na inną.
    • W przypadku kont Google Workspace masz 21 dni na potwierdzenie własności domeny podstawowej. W przypadku domen dodatkowych musisz potwierdzić własność domeny, zanim użyjesz jej jako podstawowego adresu e-mail użytkownika. W takich przypadkach 21-dniowy okres prolongaty nie obowiązuje.
    • W tej wersji interfejsu API ustawienia domeny podstawowej są stosowane do wszystkich domen powiązanych z kontem, z wyjątkiem dostępu użytkowników do usług Google Workspace.
  • Dodatkowe domeny konta – po skonfigurowaniu domeny podstawowej i konta możesz dodać do niego dodatkowe domeny. W przypadku domen dodatkowych potwierdź własność podczas konfigurowania domeny i przed użyciem jej jako podstawowego adresu e-mail użytkownika.
  • Domena domowa użytkownika – domena używana w podstawowym adresie e-mail użytkownika jest jego domeną domową. Może to być dowolna domena na koncie, w tym domena podstawowa.
Najnowsze informacje o ograniczeniach związanych z używaniem wielu domen znajdziesz w tym artykule. Obejmuje to informacje o aliasach domen, scalaniu kont itp.
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.