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:
- Wysyłanie żądania do interfejsu API
- Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
- Zaczekaj 1 s +
random_number_milliseconds
s - Ponów prośbę
- Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
- Zaczekaj 2 s +
random_number_milliseconds
s - Ponów prośbę
- Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
- Zaczekaj 4 s +
random_number_milliseconds
s - Ponów prośbę
- Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
- Zaczekaj 8 s +
random_number_milliseconds
s - Ponów prośbę
- Odbieranie komunikatu o błędzie zawierającego kod błędu z możliwością ponownego próby
- Zaczekaj 16 s +
random_number_milliseconds
s - Ponów prośbę
- 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:
|
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 |
|
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:
|
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:
|
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. |