Directory API: limity i kwoty

Limity i limity chronią infrastrukturę Google przed zautomatyzowanym procesem, który w nieodpowiedni sposób korzysta z interfejsu Directory API. Nadmierne żądania z interfejsu API mogą być wynikiem nieszkodliwego błędu lub nieefektywnie zaprojektowanego systemu, który wysyła niepotrzebne żądania do interfejsu API. Niezależnie od przyczyny, blokowanie ruchu z określonego źródła, gdy osiągnie ono określony poziom, jest konieczne dla ogólnej kondycji systemu Google Workspace. Dzięki temu działania jednego dewelopera nie mogą negatywnie wpłynąć na całą społeczność.

W nieprawdopodobnej sytuacji, gdy żądanie interfejsu API się nie powiedzie, zwróci on kod stanu HTTP i przyczynę błędu. Dodatkowo w treści odpowiedzi znajdziesz szczegółowy opis przyczyny błędu.

Na liście poniżej znajdziesz możliwe kody błędów, przyczyny ich wystąpienia, odpowiadające im opisy i zalecane działania w przypadku błędów spowodowanych przekroczeniem limitów.

Kod Przyczyna Opis Zalecane działanie
403 userRateLimitExceeded Wskazuje, że limit częstotliwości użytkownika został przekroczony. Wartość domyślna ustawiona w konsoli Google Cloud wynosi 2400 zapytań na minutę na użytkownika w projekcie Google Cloud. Zwiększ limity na użytkownika na stronie Limity interfejsu API pakietu Admin SDK w projekcie Google Cloud lub zmniejsz częstotliwość wysyłania żądań za pomocą wykładniczego opóźnienia.
403 quotaExceeded Wskazuje, że osiągnięto limit jednoczesnych żądań dla określonej operacji. Ponownie spróbuj, używając wzrastającego czasu do ponowienia. Musisz zmniejszyć szybkość wysyłania żądań.
429 rateLimitExceeded Wskazuje, że został osiągnięty limit jednoczesnych żądań dla określonej operacji. Ponownie spróbuj, używając wzrastającego czasu do ponowienia. Musisz zmniejszyć tempo 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

Wzrost czasu do ponowienia to proces, w którym klient okresowo próbuje ponownie wysłać nieudane żądanie, zwiększając czas oczekiwania. Jest to standardowa strategia obsługi błędów w przypadku aplikacji sieciowych. Stosowanie wzrastającego czasu do ponowienia zwiększa wydajność wykorzystania przepustowości, zmniejsza liczbę żądań wymaganych do uzyskania pomyślnej odpowiedzi oraz maksymalizuje przepustowość żądań w jednoczesnych środowiskach.

Schemat implementacji prostego wzrastającego czasu do ponowienia:

  1. Wysyłanie żądania do interfejsu API
  2. Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
  3. Zaczekaj 1 s + random_number_milliseconds s
  4. Ponów prośbę
  5. Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
  6. Zaczekaj 2 s + random_number_milliseconds s
  7. Ponów prośbę
  8. Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
  9. Zaczekaj 4 s + random_number_milliseconds s
  10. Ponów prośbę
  11. Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
  12. Zaczekaj 8 s + random_number_milliseconds s
  13. Ponów prośbę
  14. Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
  15. Zaczekaj 16 s + random_number_milliseconds s
  16. Ponów prośbę
  17. Jeśli błąd nadal występuje, zatrzymaj się i zgłoś 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 blokowania w niektórych implementacjach współbieżnych. Po każdym oczekiwaniu należy ponownie zdefiniować parametr random_number_milliseconds.

Uwaga: czas oczekiwania to zawsze: (2 ^ n) + random_number_milliseconds, gdzie n to monotonicznie rosnąca liczba całkowita zdefiniowana początkowo jako 0. Wartość n jest zwiększana o 1 w przypadku każdej iteracji (każdego żądania).

Algorytm jest ustawiony tak, aby zakończyć działanie, gdy n = 5. Ta wartość jest stosowana tylko po to, aby uniemożliwić klientom nieskończone próby. W efekcie powoduje ona opóźnienie żądania o około 32 sekundy, zanim zostanie uznane za „nieodwracalny błąd”. W razie potrzeby klient interfejsu API może zastosować większą liczbę prób.

Limity i przydziały interfejsu API

Kategorie limitów interfejsu API Limity
Tworzenie użytkowników Korzystając z interfejsu Directory API, nie możesz utworzyć więcej niż 10 użytkowników na domenę na sekundę.
Grupa dodana jako członek innej grupy Może minąć do 10 minut, zanim użytkownicy grupy podrzędnej zaczną się wyświetlać jako członkowie grupy nadrzędnej. Ten limit może się zmieniać w zależności od pojemności systemu.
Urządzenia mobilne

Za pomocą interfejsu Directory API możesz wykonywać te czynności:

  • 20 żądań działań na sekundę.
  • 20 żądań usunięcia na sekundę.
  • 10 żądań GET na sekundę.
  • 10 żądań listy na sekundę.
Zmienianie nazw użytkowników Rozpowszechnienie zmian w 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 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 limitu interfejsu API Limity
Urządzenia z Chrome: annotatedLocation, maksymalna liczba znaków Maksymalna liczba znaków w przypadku informacji o lokalizacji urządzenia to 200.
Urządzenia z Chrome: notes, maksymalna liczba znaków Maksymalna liczba znaków w przypadku informacji o notatkach urządzenia 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 G Suite w starszej bezpłatnej wersji liczba grup jest ograniczona do 10. W innych wersjach nie ma limitu liczby grup.
Grupy, liczba członków na grupę Na koncie G Suite w wycofanej bezpłatnej wersji grupa może zawierać 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 pozycji na stronie.
  • Grupy i członkowie grup – domyślnie i maksymalnie 200 elementów na stronę.
  • Użytkownicy – domyślnie 100 pozycji, maksymalnie 500 pozycji na stronę.
Zasoby aliasu użytkownika i jednostki organizacyjnej nie korzystają z podziału odpowiedzi na strony. Wszystkie podstawowe adresy e-mail użytkowników są zwracane w porządku alfabetycznym, a kolejność odpowiedzi nie rozróżnia wielkości liter.
Wiele domen, maksymalna liczba domen dozwolonych na koncie 600 (1 domena podstawowa + 599 domen dodatkowych)
Jednostka organizacyjna, maksymalna liczba przenoszonych jednocześnie użytkowników Możesz przenieść maksymalnie 20 użytkowników naraz. Główne adresy e-mail użytkownika muszą już istnieć na koncie.
Aliasy użytkowników Łączna liczba aliasów dozwolonych dla każdego konta użytkownika wynosi 30.
aliasy użytkowników, które używają usuniętego aliasu. Usuniętego aliasu użytkownika można użyć ponownie od razu.

Inne typy 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 na koszty i spowoduje obciążenie konta rozliczeniowego klienta. Jeśli na przykład korzystasz z elastycznego abonamentu Google Workspace, utworzenie 10 użytkowników spowoduje obciążenie Twojego konta opłatami za 10 licencji Google Workspace, które zostaną proporcjonalnie przypisane do czasu od momentu utworzenia. Jeśli korzystasz z abonamentu rocznego, oznacza to, że już zadeklarowałeś uiszczanie opłat z góry za określoną liczbę licencji. Możesz utworzyć tylko tyle kont użytkowników, ile zadeklarowałeś. Więcej informacji o abonamentach i koncie rozliczeniowym znajdziesz w Centrum pomocy administracyjnej.
Imię i nazwisko Imię i nazwisko mogą mieć maksymalnie 40 znaków. Mogą one zawierać znaki Unicode/UTF-8, spacje, litery (a–z), cyfry (0–9), łączniki (-), ukośniki (/) i kropki (.). Więcej informacji o zasadach dotyczących używania znaków znajdziesz w Centrum pomocy administracji.
Grupy, usuwanie Usunięcie grupy nie powoduje usunięcia kont użytkowników należących do tej grupy.
Grupy i członkowie grup, zmiana adresu e-mail W tej wersji interfejsu API można zmienić adres e-mail grupy przed włączeniem usługi Google Workspace. Aby zmienić adres e-mail członka grupy, użyj konsoli administracyjnej. Po zmianie adresu e-mail interfejs API automatycznie odzwierciedla te zmiany.
Grupy, ustawienia Ustawienia dostępu do grup, opcje udostępniania, monitorowanie i archiwum dyskusji są zarządzane w konsoli administracyjnej. Więcej informacji o ustawieniach grup znajdziesz w Centrum pomocy.
grupy i wysyłanie wiadomości, Aby zapobiec spamowaniu i nadużywaniu 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 użytkownik zewnętrzny 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, wysyłanie wiadomości NDR, Do grupy nie można wysyłać ani przekazywać potwierdzeń niedostarczenia wiadomości (tzw. odesłanych wiadomości).
Grupy tworzone przez użytkowników, ograniczenia Informacje o limitach grup tworzonych przez użytkowników znajdziesz w Centrum pomocy dla administratorów.
Jednostka organizacyjna, włączanie i wyłączanie usług Za pomocą konsoli administracyjnej możesz włączać i wyłączać usługi 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 (_), a Google Workspace rozpoznaje 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 administracyjnej.
Nazwy użytkowników, zmiana nazwy Google Hangouts usuwa wszystkie zapamiętane zaproszenia do czatu po zmianie nazwy. Użytkownik musi ponownie poprosić o możliwość korzystania z czatu ze znajomymi. Stara nazwa użytkownika jest zachowana jako alias e-mail, aby zapewnić nieprzerwane dostarczanie poczty w przypadku ustawień przekierowania poczty. Nie będzie ona dostępna jako nowa nazwa użytkownika. Ważne informacje o tym, jak zmiana nazwy użytkownika może wpłynąć na konto, znajdziesz w Centrum pomocy dla administratorów. Aby usunąć alias e-mail po zmianie nazwy, użyj operacji Usuwanie aliasu użytkownika.
Użytkownicy z wielu domen Konto Google Workspace może zawierać dowolną z Twoich domen. Na koncie z wieloma domenami użytkownicy z jednej domeny mogą udostępniać usługi użytkownikom z innych domen na koncie. Komponenty obsługujące wiele domen:
  • Domena podstawowa – domena podstawowa Twojego konta to domena administratora, który zaakceptował Warunki korzystania z usługi 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 głównej, a pozostałe domeny zarezerwować na potrzeby specjalistyczne, takie jak testy i testy 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 dodatkowych domen musisz potwierdzić własność domeny przed użyciem domeny dla głównego adresu e-mail użytkownika. W takich przypadkach 21-dniowy okres prolongaty nie obowiązuje.
    • W tej wersji interfejsu API ustawienia domeny podstawowej mają zastosowanie do wszystkich domen powiązanych z kontem, z wyjątkiem dostępu użytkownika 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 domeny dla głównego adresu e-mail użytkownika.
  • Domowa domena 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 ograniczenia dotyczące wielu domen znajdziesz w artykule Ograniczenia związane z wieloma domenami. Dotyczy to m.in. informacji o aliasach domen i scalaniu kont.
Ostrzeżenia, członkowie grupy GROUP_CANNOT_CONTAIN_CYCLE – interfejs API nie zezwala na cykliczne przynależność do grupy. Jeśli na przykład grupa1 jest członkiem grupy2, grupa2 nie może być członkiem grupy1.