Interfejs Google Formularzy API jest usługą współużytkowaną, dlatego stosujemy pewne limity, aby mieć pewność, że jest on wystarczająco wykorzystywany przez wszystkich użytkowników, a także aby chronić ogólny stan systemu Google Workspace.
Jeśli przekroczysz limit, zazwyczaj otrzymasz odpowiedź z kodem stanu HTTP 429: Too many requests
. W takim przypadku użyj algorytmu wykładniczego ponowienia i spróbuj ponownie później. Jeśli zmieścisz się w poniższych limitach na minutę, nie ma ograniczeń co do liczby żądań, które możesz przesłać na dzień.
Uwaga: zegarki z formularzami mają dodatkowe ograniczenia. Więcej informacji znajdziesz w artykule Konfigurowanie i odbieranie powiadomień push.
Limity żądań znajdziesz w tej tabeli:
Limity | |||||||
---|---|---|---|---|---|---|---|
Żądania odczytu |
|
||||||
Kosztowne żądania odczytu
(Używane w przypadku |
|
||||||
Żądania zapisu |
|
Napraw błędy limitu zależne od czasu
W przypadku wszystkich błędów uzależnionych od czasu (maksymalnie N żądań na X minut) zalecamy, aby Twój kod wyłapał wyjątek i używał skróconego wykładniczego ponowienia, aby urządzenia nie wygenerowały nadmiernego obciążenia.
Wykładniczy czas ponowienia to standardowa strategia obsługi błędów w aplikacjach sieciowych. Algorytm wykładniczego ponowienia ponawia próbę żądań, zwiększając w sposób wykładniczy czas oczekiwania między żądaniami, aż do osiągnięcia maksymalnego czasu do ponowienia. Jeśli żądania nadal nie są realizowane, ważne jest, aby opóźnienia między żądaniami wzrastały z czasem do momentu zrealizowania prośby.
Przykładowy algorytm
Algorytm wykładniczego ponowienia powoduje wykładnicze ponowne wysyłanie żądań, co zwiększa czas oczekiwania między kolejnymi próbami do osiągnięcia maksymalnego czasu ponowienia. Na przykład:
- Wyślij żądanie do interfejsu Google Formularzy API.
- Jeśli żądanie się nie powiedzie, poczekaj 1 +
random_number_milliseconds
i spróbuj jeszcze raz. - Jeśli żądanie się nie powiedzie, poczekaj 2 +
random_number_milliseconds
i spróbuj jeszcze raz. - Jeśli żądanie się nie powiedzie, poczekaj 4 +
random_number_milliseconds
i spróbuj jeszcze raz. - I tak dalej, do
maximum_backoff
raz. - Zaczekaj i ponawiaj próby do maksymalnej liczby ponownych prób, ale nie wydłużaj czasu oczekiwania między kolejnymi próbami.
gdzie:
- Czas oczekiwania wynosi
min(((2^n)+random_number_milliseconds), maximum_backoff)
, a wartośćn
zwiększa się o 1 dla każdej iteracji (żądania). random_number_milliseconds
to losowa liczba milisekund,mniejsza lub równa 1000. Pomaga to uniknąć przypadków, w których wiele klientów jest zsynchronizowanych w pewnej sytuacji i wszystkie ponawiają próby jednocześnie, wysyłając żądania w zsynchronizowanych falach. Wartośćrandom_number_milliseconds
jest ponownie obliczana po każdym żądaniu ponowienia.- Wartość
maximum_backoff
wynosi zwykle 32 lub 64 sekundy. Odpowiednia wartość zależy od przypadku użycia.
Klient może kontynuować ponawianie próby po osiągnięciu maximum_backoff
raza.
Ponowne próby po tym punkcie nie muszą wydłużać czasu do ponowienia. Jeśli na przykład klient używa czasu maximum_backoff
wynoszącego 64 sekundy, po osiągnięciu tej wartości klient może ponawiać próbę co 64 sekundy. W pewnym momencie należy zablokować klientom możliwość ponawiania prób w nieskończoność.
Czas oczekiwania między kolejnymi próbami i ich liczbą zależy od przypadku użycia i warunków sieci.
Ceny
Z interfejsu API Formularzy Google można korzystać bez dodatkowych opłat. Przekroczenie limitów liczby żądań limitu nie wiąże się z dodatkowymi opłatami, a konto nie jest obciążane.
Poproś o zwiększenie limitu
W zależności od wykorzystania zasobów w projekcie możesz poprosić o zwiększenie limitu. Uznaje się, że wywołania interfejsu API przez konto usługi korzystają z 1 konta. Zgłoszenie się o zwiększenie limitu nie gwarantuje jego zatwierdzenia. Zatwierdzenie dużego zwiększenia limitu może potrwać dłużej.
Nie wszystkie projekty mają takie same limity. W miarę jak z czasem korzystasz z Google Cloud, Twoje limity mogą być wyższe. Jeśli spodziewasz się znacznego wzrostu wykorzystania, możesz aktywnie poprosić o korektę limitów na stronie Limity w konsoli Google Cloud.
Więcej informacji znajdziesz w tych materiałach:
- Informacje o prośbach o zwiększenie limitu
- Wyświetlanie bieżącego wykorzystania limitów i limitów
- Poproś o zwiększenie limitu