Directory API: limity i kwoty

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:

  1. Wysyłanie żądania do interfejsu API
  2. Otrzymywanie 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. Otrzymywanie 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. Otrzymywanie 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. Otrzymywanie 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. Otrzymywanie 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 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:

  • 20 żądań działania na sekundę.
  • 20 żądań usunięcia na sekundę.
  • 10 żądań GET na sekundę.
  • 10 żądań listy na sekundę.
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
  • Za pomocą interfejsu Directory API nie możesz utworzyć ani zaktualizować więcej niż 1 jednostki organizacyjnej na klienta na sekundę.
  • Hierarchia jednostek organizacyjnych klienta jest ograniczona do 35 poziomów.
  • Łączna liczba jednostek organizacyjnych na klienta nie może przekraczać 40 tys.
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:
  • Chrome i urządzenia mobilne – domyślnie i maksymalnie 100 pozycji na stronie.
  • Grupy i członkowie grup – domyślnie i maksymalnie 200 pozycji na stronie.
  • Użytkownicy – domyślnie 100 pozycji, maksymalnie 500 pozycji na stronie.
Aliasy użytkowników i jednostki organizacyjne nie korzystają ze stronicowania odpowiedzi. Wszystkie podstawowe adresy e-mail użytkowników są zwracane w kolejności alfabetycznej, a w odpowiedzi nie jest rozróżniana wielkość liter.
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:
  • Domena podstawowa – domena podstawowa konta to domena administratora, który zaakceptował Warunki usługi Google Workspace. Ta domena jest na poziomie konta w jednostce organizacyjnej najwyższego poziomu. Podczas rejestracji konta Google Workspace zalecamy użycie domeny firmy jako domeny podstawowej, a pozostałe domeny zarezerwować do specjalistycznych zastosowań, takich jak testy.
    • Wszyscy superadministratorzy mogą zarządzać całym kontem.
    • Interfejs API nie może zmieniać ani przenosić 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 dodatkowych domen musisz potwierdzić własność domeny, zanim użyjesz jej jako podstawowego adresu e-mail użytkownika. W takich przypadkach 21-dniowy okres prolongaty nie ma zastosowania.
    • W tej wersji interfejsu API ustawienia domeny podstawowej mają zastosowanie do wszystkich domen powiązanych z kontem, z wyjątkiem dostępu użytkowników do usług Google Workspace.
  • Dodatkowe domeny konta – po utworzeniu domeny podstawowej i skonfigurowaniu konta możesz dodać do niego dodatkowe domeny. W przypadku dodatkowych domen 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. Może to być dowolna domena na koncie, w tym domena podstawowa.
Najnowsze ograniczenia dotyczące wielu domen znajdziesz w artykule Ograniczenia związane z używaniem wielu domen. Obejmuje to informacje o aliasach domen, łączeniu kont itp.
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.