Ograniczenia żądań do interfejsu API

W tym dokumencie opisano ograniczenia i ograniczenia związane z wysyłaniem żądań do interfejsów API zarządzania i interfejsów API do raportowania.

Z Google Analytics korzystają miliony witryn. Stosujemy ograniczenia dotyczące żądań do interfejsów API, aby chronić system przed otrzymaniem większej ilości danych, niż jest w stanie obsłużyć, oraz zapewnić sprawiedliwy rozkład zasobów systemowych. Limity mogą ulec zmianie.

W tym filmie omawiamy sprawdzone metody zarządzania limitami żądań do interfejsu Google Analytics API.

Ogólne limity

W przypadku interfejsów Management API, Core Reporting API w wersji 3, MCF Reporting API, Metadata API, User Deletion API i Real Time Reporting API obowiązują te limity:

  • 50 tys. żądań na projekt dziennie, które można zwiększyć;
  • 10 zapytań na sekundę na adres IP.
    • W Konsoli interfejsów API obowiązuje podobny limit nazywany żądaniami na 100 sekund na użytkownika. Domyślnie ustawiona jest wartość 100 żądań na 100 sekund na użytkownika, ale można ją zmienić na 1000. Liczba żądań wysyłanych do interfejsu API jest jednak ograniczona do 10 żądań na sekundę na użytkownika.
    • Jeśli Twoja aplikacja wysyła wszystkie żądania do interfejsu API z jednego adresu IP (tj. w imieniu użytkowników), używaj w każdym żądaniu parametru userIP lub quotaUser, aby uzyskać pełny limit zapytań na sekundę dla każdego użytkownika. Szczegółowe informacje znajdziesz w podsumowaniu standardowych parametrów zapytania.

Interfejsy API do zarządzania

Google Analytics stosuje limity do żądań wysyłanych do tych interfejsów API do zarządzania:

Zapisuj interfejsy API

W przypadku żądań zapisu (insert, update, patch i delete) obowiązują te limity:

  • 50 żądań zapisu na projekt dziennie, które można zwiększyć;
  • 1,5 zapytań na sekundę na identyfikator konta

Błędy żądań zapisu

Jeśli żądanie zapisu nie powiedzie się i otrzymasz kod odpowiedzi 500 lub 503, możesz przesłać żądanie ponownie. Google Analytics umożliwia:

  • 50 nieudanych żądań zapisu na godzinę.

Jeśli spróbujesz przesłać więcej niż 50 nieudanych żądań zapisu na godzinę, zobaczysz ten błąd:

Quota Error: The number of recent failed writes is too high.

Zamiast stale ponownie przesyłać nieudane żądanie zapisu, zaimplementuj ponawianie wykładnicze.

Interfejs Data Import API

Te limity dotyczą zasobu Uploads:

  • Obowiązujące bezterminowe limity miejsca na dane w ramach Rozszerzonego importu danych (nie dotyczy danych o działaniach przesyłanych z interfejsów API gromadzenia danych i pakietów SDK):
  • 50 zbiorów danych na usługę
  • 50 operacji przesyłania na usługę dziennie
  • 1 GB na każdy przesłany plik
  • Limity dotyczące danych o kosztach:
    • 100 MB na datę (ga:date) na zbiór danych. Jeśli np. importujesz 50 MB danych z okresu 2014-10-10 w ramach jednego przesyłania i 50 MB danych w kolejnym przesłaniu 2014-10-10, osiągniesz limit 100 MB dla zbioru danych 2014-10-10.

Interfejs API eksperymentów

Ten limit dotyczy tylko Eksperymentów:

  • 12 eksperymentów na wyświetlenie (profil)

Do tego limitu wliczają się eksperymenty z jednym z tych elementów statuses:

  • DRAFT
  • READY_TO_RUN
  • RUNNING

Do tego limitu nie są wliczane eksperymenty zakończone (stan = ENDED) dłużej niż 1 dzień.

Interfejs API niespróbkowanych raportów

Te limity dotyczą tylko niespróbkowanych raportów:

  • Żądania do interfejsu API dotyczące tworzenia niespróbkowanych raportów są wliczane do ogólnego limitu żądań zapisu.
  • Do tworzenia niespróbkowanych raportów interfejs API korzysta z tego samego systemu tokenów dla usługi i dziennie, którego używa interfejs internetowy.
  • Maksymalna dozwolona liczba niespróbkowanych raportów to 3500. Po osiągnięciu tego limitu przy próbie utworzenia kolejnych niespróbkowanych raportów z wynikami interfejsu API pojawi się ten błąd:
    Error creating this entity. You have reached the maximum allowed entities of this type.

Interfejs API uprawnień użytkownika

Ten limit dotyczy tylko uprawnień użytkowników:

  • Użytkownik może mieć maksymalnie 100 kont Analytics. Dodanie do nowego konta użytkownika, który ma 100 kont Analytics, powoduje błąd.

W przypadku zbiorczych żądań zapisu (delete, insert, update) do uprawnień użytkowników obowiązują te limity:

  • 300 żądań zapisu uprawnień użytkownika na żądanie zbiorcze
  • 30 grupowych żądań zapisu uprawnień użytkowników liczonych jako 1 żądanie zapisu.

Przekroczenie limitu

Jeśli limit żądań wysyłanych do interfejsu Google Analytics API zostanie przekroczony, interfejs API zwróci kod błędu 403 lub 429 i komunikat, że limit został przekroczony na koncie. Więcej informacji znajdziesz w Warunkach korzystania z usługi.

Wysyłam prośbę o dodatkowy limit

Możesz poprosić tylko o zwiększenie:

Aby wyświetlić lub zmienić limity wykorzystania w projekcie albo poprosić o zwiększenie limitu, wykonaj te czynności:

  1. Jeśli nie masz jeszcze konta rozliczeniowego powiązanego z projektem, utwórz je.
  2. Otwórz stronę Włączone interfejsy API w bibliotece interfejsów API w konsoli API i wybierz interfejs API z listy.
  3. Aby wyświetlić i zmienić ustawienia związane z limitami, wybierz Limity. Aby wyświetlić statystyki użytkowania, wybierz Użycie.

Aby poprosić o zwiększenie maksymalnego limitu, skorzystaj z formularza prośby o zwiększenie limitu w interfejsie Analytics API. Przed przesłaniem prośby zapoznaj się z informacjami i postępuj zgodnie z instrukcjami podanymi w formularzu prośby o zwiększenie limitu. W przypadku interfejsu Reporting API w wersji 4 nazwa interfejsu API w Konsoli Google API to Google Analytics Reporting API. Wszystkie inne interfejsy API w wersji 3 (np. Management API v3, Core Reporting API 3, Real Time Reporting API v3, User Deletion API v3) znajdziesz w sekcji Interfejs Analytics API w Konsoli interfejsów API Google.

Więcej informacji o zarządzaniu limitami i o tym, jak dostroić aplikację pod kątem wykorzystania limitu, znajdziesz w artykule Monitorowanie interfejsów API i ograniczanie wykorzystania.