Paginierung

API-Schlüssel erhalten

Listen (GET /v1/posts, GET /v1/media) werden neueste zuerst zurückgegeben, jeweils eine Seite. limit legt die Seitengröße fest, von 1 bis 100 (standardmäßig 20).

json
{
  "data": [ … ],
  "nextCursor": "WyIyMDI2LTEwLTI3VDE1OjExOjU5LjAxN1oiLCIx…"
}

Übergeben Sie nextCursor als cursor, um die nächste Seite zu lesen. Fehlt nextCursor, haben Sie das Ende erreicht.

javascript
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);

Ein Cursor ist opak: Bauen oder ändern Sie nie einen. Ein Cursor, den Sofia nicht zurückgegeben hat, antwortet mit 400 invalid_cursor.