当递归调用Google客户端API时,分页似乎是错误的。
nextPageToken的console.log显示,在每次调用递归函数后,其值永远不会相同。哪个好 但是,使用每个不同令牌的呼叫结果始终返回相同的用户...
这是缓存问题还是重新调用API来获取所有数据是这样做的一种不好方法?
Rgds
ggroupsRouter.get("/", async (req, res) => {
const test = async () => {
const isAuth = await getGoogleApiAuth();
let resu = [];
const i = 1;
const maxResults = 5;
async function retrieve(service, nextPageToken, c) {
const r = await service.users.list({
domain: GOOGLE_API_DOMAIN,
nextPageToken,
maxResults
});
if (r.data.nextPageToken) {
const nextresu = await retrieve(
service,
r.data.nextPageToken,
c + 1
);
resu = [...resu, ...nextresu];
}
return resu;
}
if (isAuth && isAuth.status) {
const service = await getGoogleAdminService(
GOOGLE_API_VERSION,
isAuth.auth
);
const data = await retrieve(service, "", i);
return data;
}
};
const resu = await test();
return res.send(resu);
});