我正在尝试检索已在我的 Next.js 应用程序中注册的所有用户的列表。我使用 GET 操作创建了一个 API 路由 (/users/route.ts),以使用 Clerk 客户端获取用户:
export const GET = async (req: NextRequest) => {
try {
const { data: users } = await clerkClient.users.getUserList();
return NextResponse.json(users);
} catch (error) {
return NextResponse.json({ error: 'Failed to fetch users' }, { status: 500 });
}
};
但是,我遇到了一个问题:响应中仅返回老用户。最近注册的用户并不总是会被获取——有时会出现,有时则不会。我可以在 Clerk 仪表板中看到所有用户,并且我已尝试重新启动服务器,但问题仍然存在。我不确定如何解决此问题并始终检索完整的用户列表。
我尝试了什么?
我尝试通过使用 Clerk 客户端的 GET 操作创建 API 路由 (/users/route.ts) 来获取在 Next.js 应用程序中注册的所有用户的列表。我的代码尝试检索用户列表并将其作为 JSON 响应返回。
我在期待什么?
每次我发出请求时,我希望 API 能够返回所有用户的完整列表,包括旧用户和最近注册的用户。但是,响应仅包括较旧的用户,并且最近的用户有时不会出现在列表中,尽管在 Clerk 仪表板中可见。
我还没有找到解决方案,但我不再遇到问题了,我的建议是使用
clerkClient().users
而不是 clerkClient.users