Firebase 云功能 Admin SDK - 列出用户 - 分页问题
Firebase cloud function Admin SDK - listing user - problem with pagination
我已经实现了一个 HTTP 可调用函数来获取所有用户。正如您在我的代码中看到的,问题在于 requestedPageToken
(来自客户端调用)与 listUsersResult.pageToken
(从 listusers
函数返回)相同。我的客户端应用程序使用相同的令牌一遍又一遍地调用此函数,但它只获得用户的第一页,因为 listUsersResult
returns 相同的令牌而不是下一页令牌。这是我的 TypeScript 代码:
export const listAllUsers = functions.https.onCall((data, context) => {
try {
if (data !== null) {
const requestedPageToken = data.text;
console.log("PageToken is: " + data);
return admin.auth().listUsers(50, requestedPageToken)
.then((listUsersResult) => {
console.log("New PageToken is: " + listUsersResult.pageToken);
return listUsersResult;
}).catch((reason) => {
return Promise.reject(
new Error(reason));
});
} else {
return admin.auth().listUsers(50);
}
} catch (error) {
console.error("Error: " + error);
return Promise.reject(error);
}
});
我找不到问题出在哪里。为什么我得不到接下来 50 位用户的令牌?
好的,现在可以了。我犯了一个错误。下一行:
const requestedPageToken = data.text;
应该是:
const requestedPageToken = data;
我不确定此更改如何影响函数返回的内容,但none它现在的工作越来越少。
我已经实现了一个 HTTP 可调用函数来获取所有用户。正如您在我的代码中看到的,问题在于 requestedPageToken
(来自客户端调用)与 listUsersResult.pageToken
(从 listusers
函数返回)相同。我的客户端应用程序使用相同的令牌一遍又一遍地调用此函数,但它只获得用户的第一页,因为 listUsersResult
returns 相同的令牌而不是下一页令牌。这是我的 TypeScript 代码:
export const listAllUsers = functions.https.onCall((data, context) => {
try {
if (data !== null) {
const requestedPageToken = data.text;
console.log("PageToken is: " + data);
return admin.auth().listUsers(50, requestedPageToken)
.then((listUsersResult) => {
console.log("New PageToken is: " + listUsersResult.pageToken);
return listUsersResult;
}).catch((reason) => {
return Promise.reject(
new Error(reason));
});
} else {
return admin.auth().listUsers(50);
}
} catch (error) {
console.error("Error: " + error);
return Promise.reject(error);
}
});
我找不到问题出在哪里。为什么我得不到接下来 50 位用户的令牌?
好的,现在可以了。我犯了一个错误。下一行:
const requestedPageToken = data.text;
应该是:
const requestedPageToken = data;
我不确定此更改如何影响函数返回的内容,但none它现在的工作越来越少。