Slack API:在conversation.members请求中忽略已删除/已停用的用户

问题描述 投票:1回答:1

我正在尝试开发一个从通道中获取所有用户的小脚本。我设法做到了,但它检索的用户数量多于当前频道上的用户数量(在应用程序上为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))
 })
}
javascript node.js slack slack-api
1个回答
1
投票

问题非常愚蠢,对我使用的条件语句的检查是错误的,做if (!user.user.deleted)我可以得到激活/未删除的用户:)

© www.soinside.com 2019 - 2024. All rights reserved.