Motimate: Finns det några begränsningar för användningen av det publika API:et?
Prisgräns
API:et fungerar med en hastighetsbegränsning på 1200 förfrågningar per 10 minuter. Detta innebär att du kan skicka högst 2 förfrågningar per sekund inom en 10-minutersperiod. Observera att denna gräns delas mellan alla våra slutpunkter, snarare än att räknas mot enskilda slutpunkter.
Om du överskrider denna gräns kommer du att få ett 429 Too Many Requests-svar.
Aktuell status för rate limit finns tillgänglig i RateLimit-rubriken.
Exempel:
RateLimit: limit=1200, återstående=956, reset=543
Se här IETF:s utkast för mer information.
Om du har problem med att nå denna gräns kan du införa en latensperiod mellan förfrågningarna för att komma under gränsen igen.
Filter / Sökvägsargument
Det finns en gräns på 50 argument (t.ex. användar-ID) per anrop vid filtrering med hjälp av sökvägsargumenten.
Paginering
Max antal resultat per sida är 50. Använd frågeparametrarna page och per_page för att hämta ytterligare resultat.
Exempel:
/users?page=3&per_page=30
Hur hämtar man all data från ett API med pagineringsgränser?
Obs: I det här exemplet används GET /groups, men du kan upprepa stegen med andra slutpunkter.
-
-
Hämta alla data:
for i in {1..NUMBER_OF_PAGES}; do curl -X GET "https://motimateapp.com/public_api/groups?page=$i" done - Lagra uppgifterna på din maskin.
-
Hämta endast resurser som har uppdaterats eller skapats efter den senaste hämtningen (t.ex. för en dag sedan) och slå samman dem med de data du redan 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ör en DELETE-begäran tar du bort resursen från din kopia.
- Utför regelbundet (t.ex. varje vecka) en ny synkronisering genom att hämta alla data igen och uppdatera din kopia.
-
0 kommentarer
logga in för att lämna en kommentar.