Pagination
Obtenir une clé APILes listes (GET /v1/posts, GET /v1/media) sont renvoyées les plus récentes d’abord, une page à la fois. limit fixe la taille de page, de 1 à 100 (20 par défaut).
{
"data": [ … ],
"nextCursor": "WyIyMDI2LTEwLTI3VDE1OjExOjU5LjAxN1oiLCIx…"
}Passez nextCursor comme cursor pour lire la page suivante. Quand nextCursor est absent, vous avez atteint la fin.
let cursor;
do {
const url = new URL('https://api.sofia-post.com/api/v1/posts');
url.searchParams.set('limit', '100');
if (cursor) url.searchParams.set('cursor', cursor);
const page = await globalThis.fetch(url, { headers: { Authorization: `Bearer ${key}` } }).then((r) => r.json());
handle(page.data);
cursor = page.nextCursor;
} while (cursor);Un curseur est opaque : ne le construisez ni ne le modifiez jamais. Un curseur que Sofia n’a pas renvoyé répond 400 invalid_cursor.