Google API-users.list。分页管理

时间:2019-04-02 20:38:53

标签: javascript google-api pagination

当递归调用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);
});

0 个答案:

没有答案