Motimate: Czy są jakieś ograniczenia w korzystaniu z Publicznego API?
Limit stawek
API działa z limitem 1200 żądań na 10 minut. Oznacza to, że możesz wysłać maksymalnie 2 żądania na sekundę w ciągu 10 minut. Zwróć uwagę, że limit ten jest wspólny dla wszystkich naszych punktów końcowych, a nie wliczany do poszczególnych punktów końcowych.
Jeśli przekroczysz ten limit, otrzymasz odpowiedź 429 Too Many Requests.
Bieżący status limitu stawek jest dostępny w nagłówku RateLimit.
Przykład:
RateLimit: limit=1200, remaining=956, reset=543
Zobacz Projekt IETF aby uzyskać więcej informacji.
Jeśli masz problem z osiągnięciem tego limitu, wprowadź okres opóźnienia między żądaniami, aby ponownie zejść poniżej limitu.
Filtry / Argumenty ścieżki
Istnieje limit 50 argumentów (tj. identyfikatorów użytkowników) na wywołanie podczas filtrowania przy użyciu argumentów ścieżki.
Paginacja
Maksymalna liczba wyników na stronę wynosi 50. Użyj parametrów zapytania page i per_page, aby pobrać dodatkowe wyniki.
Przykład:
/users?page=3&per_page=30
Jak pobrać wszystkie dane z API z limitami paginacji?
Uwaga: W tym przykładzie użyto GET /groups, ale możesz powtórzyć kroki z innymi punktami końcowymi.
-
-
Pobierz wszystkie dane:
for i in {1..NUMBER_OF_PAGES}; do curl -X GET "https://motimateapp.com/public_api/groups?page=$i" done - Przechowuj dane na swoim komputerze.
-
Pobierz tylko zasoby, które zostały zaktualizowane lub utworzone po ostatnim pobraniu (np. jeden dzień temu) i połącz je z danymi, które już posiadasz:
curl -X GET "https://motimateapp.com/public_api/groups?filter[created_at_gt]=<ONE_DAY_AGO>" curl -X GET "https://motimateapp.com/public_api/groups?filter[updated_at_gt]=<ONE_DAY_AGO>" - Za każdym razem, gdy wykonujesz żądanie DELETE, usuń zasób ze swojej kopii.
- Okresowo (np. co tydzień) wykonuj resynchronizację, pobierając ponownie wszystkie dane i aktualizując kopię.
-
Komentarze: 0
Zaloguj się, aby dodać komentarz.