我正在尝试开发一个从通道中获取所有用户的小脚本。我设法做到了,但它检索的用户数量多于当前频道上的用户数量(在应用程序上为102,根据请求我得到202)。检查文档后,我看到它还返回已删除/停用的用户。我尝试使用if(user.deleted == false)进行过滤,但是所有用户(甚至那些未包含在频道中的用户)都被删除为false。
我怎样才能获得激活的用户,或者至少获取有关删除/停用哪些用户的信息以便过滤它们?我正在研究一段时间,但我没有找到任何答案,我真的很感激一些帮助。
这是请求:
const generalChannelRes = await web.conversations.members('C02Q3F80V', { limit: 500 })
try {
let fixture = await Promise.all(generalChannelRes.members.map(async userId => {
const user = await web.users.info(userId)
if (!user.deleted) {
const userData = [user.user.profile.email, user.user.name]
return userData
}}))
fixture = fixture.filter(u => u)
fs.writeFileSync('./models/fixture-users-new.json', JSON.stringify(fixture, null,
2))
})
}
问题非常愚蠢,对我使用的条件语句的检查是错误的,做if (!user.user.deleted)
我可以得到激活/未删除的用户:)