Motimate: Er det noen begrensninger for bruken av det offentlige API-et?
Takstgrense
API-et opererer med en hastighetsbegrensning på 1200 forespørsler per 10 minutter. Det betyr at du maksimalt kan sende to forespørsler per sekund i løpet av en 10-minutters periode. Merk at denne grensen deles på tvers av alle endepunktene våre, i stedet for å bli regnet mot individuelle endepunkter.
Hvis du overskrider denne grensen, vil du motta et 429 Too Many Requests-svar.
Gjeldende status for hastighetsbegrensning er tilgjengelig i RateLimit-overskriften.
Eksempel:
RateLimit: limit=1200, remaining=956, reset=543
Se IETF-utkast for mer informasjon.
Hvis du har problemer med å nå denne grensen, kan du innføre en ventetid mellom forespørslene for å komme under grensen igjen.
Filtre / baneargumenter
Det er en grense på 50 argumenter (dvs. bruker-ID-er) per anrop når du filtrerer ved hjelp av baneargumenter.
Paginering
Maks antall resultater per side er 50. Bruk spørringsparametrene page og per_page for å hente flere resultater.
Eksempel:
/users?page=3&per_page=30
Hvordan henter jeg alle dataene fra et API med pagineringsbegrensninger?
Merk: I dette eksempelet brukes GET /groups, men du kan gjenta trinnene med andre endepunkter.
-
-
Hent alle dataene:
for i in {1..NUMBER_OF_PAGES}; do curl -X GET "https://motimateapp.com/public_api/groups?page=$i" done - Lagre dataene på maskinen din.
-
Hent bare ressurser som er oppdatert eller opprettet etter siste henting (f.eks. for én dag siden), og slå dem sammen med dataene 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 utfører en DELETE-forespørsel, fjerner du ressursen fra kopien din.
- Med jevne mellomrom (f.eks. ukentlig) utfører du en resynkronisering ved å hente alle dataene på nytt og oppdatere kopien din.
-
0 kommentarer
Logg på hvis du vil legge inn en kommentar.