Motimate: Er der nogen begrænsninger for brugen af den offentlige API?
Prisgrænse
API'en opererer med en hastighedsgrænse på 1200 anmodninger pr. 10 minutter. Det betyder, at du maksimalt kan sende 2 anmodninger pr. sekund inden for en periode på 10 minutter. Bemærk, at denne grænse deles på tværs af alle vores endpoints, i stedet for at blive talt med til individuelle endpoints.
Hvis du overskrider denne grænse, vil du modtage et 429 Too Many Requests-svar.
Den aktuelle status for hastighedsgrænsen er tilgængelig i RateLimit-overskriften.
Et eksempel:
RateLimit: limit=1200, remaining=956, reset=543
Se også IETF-udkast for flere detaljer.
Hvis du har problemer med at nå denne grænse, skal du indføre en ventetid mellem anmodningerne for at komme under grænsen igen.
Filtre / Sti-argumenter
Der er en grænse på 50 argumenter (dvs. bruger-id'er) pr. kald, når man filtrerer ved hjælp af sti-argumenterne.
Paginering
Maks. resultater pr. side er 50. Brug side- og per_page-forespørgselsparametre til at hente flere resultater.
Et eksempel:
/users?page=3&per_page=30
Hvordan henter man alle data fra en API med pagineringsgrænser?
Bemærk: Dette eksempel bruger GET /groups, men du kan gentage trinnene med andre slutpunkter.
-
-
Hent alle data:
for i in {1..NUMBER_OF_PAGES}; do curl -X GET "https://motimateapp.com/public_api/groups?page=$i" done - Gem dataene på din maskine.
-
Hent kun ressourcer, der er blevet opdateret eller oprettet efter sidste hentning (f.eks. for en dag siden), og flet dem sammen med de data, du allerede har:
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>" - Når du udfører en DELETE-anmodning, skal du fjerne ressourcen fra din kopi.
- Udfør jævnligt (f.eks. ugentligt) en resynkronisering ved at hente alle data igen og opdatere din kopi.
-
0 kommentarer
Log ind for at kommentere.