export async function readwiseHighlights(token: string, ids?: number[]) {
let fullData = [];
let nextPageCursor = null;
while (true) {
const queryParams = new URLSearchParams();
if (ids) {
queryParams.append("ids", ids.join(","));
}
if (nextPageCursor) {
queryParams.append("pageCursor", nextPageCursor);
}
console.log("Making export api request with params " + queryParams.toString());
const response = await fetch("https://readwise.io/api/v2/export/?" + queryParams.toString(), {
method: "GET",
headers: {
Authorization: `Token ${token}`,
},
});
const responseJson = await response.json();
fullData.push(...responseJson["results"]);
nextPageCursor = responseJson["nextPageCursor"];
if (!nextPageCursor) {
break;
}
}
return fullData;
}