Limity wykorzystania

Limity i limity chronią infrastrukturę Google przed automatycznym procesem, który korzysta z interfejsu Data Transfer API w nieodpowiedni sposób. Nadmierna liczba żądań z interfejsu API może wynikać z bezproblemowej literówki lub nieskutecznego systemu, który wykonuje niepotrzebne wywołania interfejsu API. Niezależnie od przyczyny zablokowanie ruchu z określonego źródła, gdy osiągnie określony poziom, jest niezbędne dla ogólnego stanu systemu Google Workspace. Dzięki temu działania jednego dewelopera nie mogą negatywnie wpłynąć na większą społeczność.

Nieudane żądania do interfejsu API

W mało prawdopodobnym przypadku niepowodzenia żądania do interfejsu API aplikacja otrzyma odpowiedź z kodem stanu HTTP. Kod stanu 403 zawiera informacje o błędach dotyczących nieprawidłowych danych wejściowych, a kod stanu HTTP 503 – informacje o błędzie wskazujące, które limity interfejsu API zostały przekroczone. Te odpowiedzi pozwalają niestandardowej aplikacji wykrywać te błędy i podejmować odpowiednie działania.

realizowanie żądań w ustalonym czasie,

Jeśli żądania muszą zostać zrealizowane w ustalonym czasie, wysyłaj je równolegle lub używaj wielu wątków w aplikacji w języku Java lub C#. Możesz na przykład podzielić żądania według miesiąca lub innego przedziału czasu. W przypadku wątków spróbuj zacząć od 10 wątków – po 1 wątku na żądanie. Rekomendacja dotycząca wątków ma wady i nie jest przydatna we wszystkich sytuacjach związanych z interfejsami API. Jeśli liczba żądań stanie się zbyt duża, wystąpią błędy limitu.

Błędy czasowe

W przypadku wszystkich błędów opartych na czasie (maksymalnie N rzeczy przez X sekund w wątku), zwłaszcza w przypadku błędów kodu stanu 503, zalecamy wychwycenie kodu wyjątku i użycie algorytmu wykładniczego ponowienia dopiero po niewielkim opóźnieniu przed ponowną próbą nieudanego wywołania. Przykładem interfejsu Data Transfer API dla jednego wątku jest odczekanie 5 sekund i ponowienie nieudanego wywołania. Jeśli żądanie się powiedzie, powtórz ten wzorzec dla innych wątków. Jeśli drugie żądanie nie powiedzie się, aplikacja powinna skalować się wstecz zgodnie z częstotliwością żądania, aż wywołanie się powiedzie. Możesz na przykład zwiększyć początkowe 5-sekundowe opóźnienie do 10 sekund i ponownie spróbować wykonać nieudane połączenie. Określ też limit ponownych prób. Na przykład ponów żądanie 5–7 razy z różnymi czasami opóźnienia, zanim aplikacja zwróci błąd użytkownikowi.

Ograniczenia

Kategorie ograniczeń interfejsu API Ograniczenia
Zapytania na sekundę (QPS) Limit projektów dewelopera to 10 zapytań na sekundę na konto.

Limity

Kategorie limitów interfejsu API Limity
Maksymalna dzienna liczba żądań do interfejsu API Maksymalna dzienna liczba żądań do interfejsu API to 500 000.
Archiwum, data wygaśnięcia wiadomości Archiwa grupy nie tracą ważności. Wiadomości pozostają w archiwum do czasu usunięcia grupy. Zasada przechowywania e-maili nie ma wpływu na wiadomości w archiwum grupy.
Rozmiar wiadomości e-mail Maksymalny rozmiar e-maila to 25 MB. Ten limit obejmuje nagłówki metadanych, treść i wszystkie załączniki wiadomości.

Inne rodzaje limitów

Inne rodzaje limitów Ograniczenia i wytyczne
Formaty typów treści E-mail musi być w standardowym formacie tekstowym RFC 822. Format treści żądania do przesyłania przeniesionych e-maili używa nagłówka Content-type: message/rfc822.
Format danych w odpowiedziach interfejsu API Format danych odpowiedzi to JavaScript Object Notation (JSON).
Zasady dotyczące lokalizacji danych Interfejs Data Transfer API nie obsługuje zasad dotyczących lokalizacji danych, które ze względów umownych wymagają przechowywania danych w określonych granicach geograficznych lub politycznych. Nie korzystaj z interfejsu Data Transfer API, jeśli lokalizacja danych jest wymagana na Twoim koncie.
Równoległe wstawianie wiadomości Interfejs Data Transfer API obsługuje równoległe żądania wstawiania adresów e-mail w różnych archiwach grup. Interfejs Data Transfer API nie obsługuje jednak równoległego wstawiania wiadomości do tego samego archiwum grup. Ta wersja API nie obsługuje też żądań zbiorczych.
Nieautoryzowane żądania Interfejs Data Transfer API nie akceptuje żadnych nieautoryzowanych żądań. Żądanie jest uznawane za nieautoryzowane, jeśli nie podano tokena autoryzacji.