Interfejs Google Sheets API jest usługą współdzieloną, dlatego stosujemy limity i ograniczenia, aby chronić ogólną wydajność systemu Google Workspace dla wszystkich użytkowników.
Limity przydziału
Interfejs Sheets API nie ma sztywnych limitów rozmiaru żądania do interfejsu API, ale użytkownicy mogą napotkać limity różnych komponentów przetwarzania, które nie są kontrolowane przez Arkusze Google. Aby przyspieszyć żądania, zalecamy maksymalny rozmiar ładunku wynoszący 2 MB.
Interfejs Sheets API ma limity na minutę, które są uzupełniane co minutę.
Na przykład limit żądań odczytu wynosi 300 na minutę na projekt. Jeśli aplikacja wyśle 350 żądań w ciągu minuty, dodatkowe 50 żądań przekroczy limit i wygeneruje odpowiedź z kodem stanu HTTP 429: Too many requests. W takim przypadku należy użyć algorytmu wzrastającego czasu do ponowienia.
Po upływie 1 minuty można ponownie wykonywać żądania.
W tabeli poniżej znajdziesz szczegółowe informacje o limitach żądań:
| Limity | |||||
|---|---|---|---|---|---|
| Żądania odczytu |
|
||||
| Żądania zapisu |
|
||||
Szczegółowe informacje o limitach plików znajdziesz w artykule Pliki, które możesz przechowywać na Dysku Google.
Zachowanie i ograniczenia
Podczas pracy z interfejsem Sheets API pamiętaj o tych działaniach i ograniczeniach, które wpływają na limity:
Żądania odczytu to wywołania dowolnej metody, która pobiera dane z arkusza kalkulacyjnego, np.
getlubsearch. Żądania zapisu to wywołania dowolnej metody, która zmienia arkusz kalkulacyjny, np.update,clearlubcopyTo.Użytkownicy mogą przesyłać wiele żądań jednocześnie, o ile nie przekraczają limitu. Każde żądanie zbiorcze, w tym każde żądanie podrzędne, jest liczone jako 1 żądanie interfejsu API w ramach limitu wykorzystania.
Wszystkie żądania Arkuszy są stosowane atomowo. Oznacza to, że jeśli którekolwiek żądanie jest nieprawidłowe, cała aktualizacja się nie powiedzie i żadne (potencjalnie zależne) zmiany nie zostaną zastosowane.
Istnieje maksymalny limit czasu przetwarzania 1 żądania do interfejsu API. Gdy Arkusze przetwarzają żądanie dłużej niż 180 sekund, żądanie zwraca błąd przekroczenia limitu czasu.
O ile nie przekraczasz limitów na minutę, nie ma ograniczenia liczby żądań, które możesz wysłać dziennie.
Rozwiązywanie błędów limitu czasu
W przypadku wszystkich błędów związanych z czasem (maksymalnie N żądań na X minut) zalecamy aby kod przechwytywał wyjątek i używał skróconego wzrastającego czasu do ponowienia, aby urządzenia nie generowały nadmiernego obciążenia.
Wzrastający czas do ponowienia to standardowa strategia obsługi błędów w przypadku aplikacji sieciowych. Algorytm wzrastającego czasu do ponowienia ponawia żądania, używając wykładniczo rosnących czasów oczekiwania między żądaniami, aż do maksymalnego czasu do ponowienia. Jeśli żądania nadal się nie powiodą, ważne jest, aby opóźnienia między żądaniami zwiększały się z czasem, aż żądanie się powiedzie.
Przykładowy algorytm
Algorytm wzrastającego czasu do ponowienia ponawia żądania wykładniczo, zwiększając czas oczekiwania między ponowieniami aż do maksymalnego czasu do ponowienia. Na przykład:
- Wyślij żądanie do interfejsu Google Sheets API.
- Jeśli żądanie się nie powiedzie, odczekaj 1 +
random_number_millisecondsi ponów żądanie. - Jeśli żądanie się nie powiedzie, odczekaj 2 +
random_number_millisecondsi ponów żądanie. - Jeśli żądanie się nie powiedzie, odczekaj 4 +
random_number_millisecondsi ponów żądanie. - I tak dalej, aż do czasu
maximum_backoff. - Kontynuuj oczekiwanie i ponawianie próby aż do maksymalnej liczby ponowień, ale nie zwiększaj czasu oczekiwania między ponowieniami.
gdzie:
- Czas oczekiwania to
min(((2^n)+random_number_milliseconds), maximum_backoff), przy czymnjest zwiększane o 1 w każdej iteracji (żądaniu). random_number_millisecondsto losowa liczba milisekund mniejsza lub równa 1000. Pomaga to uniknąć sytuacji, w których wielu klientów jest zsynchronizowanych przez jakąś sytuację i wszyscy ponawiają próbę jednocześnie, wysyłając żądania w zsynchronizowanych falach. Wartośćrandom_number_millisecondsjest ponownie obliczana po każdym żądaniu ponowienia.maximum_backoffto zwykle 32 lub 64 sekundy. Odpowiednia wartość zależy od przypadku użycia.
Klient może kontynuować ponawianie próby po osiągnięciu czasu maximum_backoff.
Ponowienia po tym momencie nie muszą już zwiększać 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 może ponawiać próbę co 64 sekundy. W pewnym momencie,
należy uniemożliwić klientom ponawianie próby w nieskończoność.
Czas oczekiwania między ponowieniami i liczba ponowień zależą od przypadku użycia i warunków sieciowych.
Ceny
Standardowe korzystanie z interfejsu Google Sheets API jest bezpłatne. Przekroczenie limitów żądań będzie wiązać się z obciążeniem konta rozliczeniowego Google Cloud w dalszej części 2026 r. Więcej informacji znajdziesz w artykule Ustandaryzowany model Google Workspace dla narzędzi i interfejsów API agenta.
Poproś o zwiększenie limitu
W zależności od wykorzystania zasobów projektu możesz poprosić o zmianę limitu. Wywołania interfejsu API przez konto usługi są traktowane jako korzystanie z jednego konta. Wysłanie wniosku o zmianę limitu nie gwarantuje jego zatwierdzenia. Zatwierdzenie próśb o zmianę limitu, które znacznie zwiększają wartość limitu, może potrwać dłużej.
Nie wszystkie projekty mają takie same limity. W miarę upływu czasu i zwiększania wykorzystania Google Cloud może być konieczne zwiększenie wartości limitu. Jeśli przewidujesz znaczny wzrost wykorzystania, możesz aktywnie poprosić o zmianę limitu na stronie Limity i ograniczenia systemu w konsoli Google Cloud.
Więcej informacji znajdziesz w tych materiałach:
- Informacje o dostosowywaniu limitów
- Wyświetlanie wykorzystania limitu i limitów
- Wysyłanie prośby o wyższy limit
Limity serwera MCP Arkuszy
Serwer MCP Arkuszy używa danych o żądaniach odczytu i zapisu. W tabelach poniżej znajdziesz szczegółowe informacje o limitach i kosztach zapytań dla każdej metody serwera MCP Arkuszy według sekcji:
Limity MCP Arkuszy
Obowiązują 2 typy limitów:
Na minutę na projekt: jest to koszt zapytania w projekcie Google Cloud na minutę.
Na minutę na użytkownika na projekt: jest to koszt zapytania w projekcie w chmurze Google Cloud na minutę, z którego może korzystać dowolny użytkownik.
W tabeli poniżej znajdziesz szczegółowe informacje o tych limitach:
| Limity | |||||
|---|---|---|---|---|---|
| Żądania odczytu |
|
||||
| Żądania zapisu |
|
||||
Limity zestawu narzędzi MCP Arkuszy
W tabeli poniżej znajdziesz szczegółowe informacje o kosztach zapytań dla każdego zestawu narzędzi sheetsmcp.googleapis.com:
| Punkt końcowy | Narzędzie | Koszt zapytania |
|---|---|---|
| /mcp/v1 | get_values |
1 żądanie odczytu |
get_spreadsheet |
1 żądanie odczytu | |
update_spreadsheet |
1 żądanie zapisu | |
update_values |
1 żądanie zapisu | |
update_formulas |
1 żądanie zapisu | |
insert_dimension |
1 żądanie zapisu |
Więcej informacji znajdziesz w dokumentacji interfejsu Sheets MCP API Reference.