【发布时间】:2021-06-18 08:43:32
【问题描述】:
我正在尝试提高 Slack 集成的性能,因为获取所有频道需要很长时间。我们处于免费的 slack 层,因此我们没有使用 API 删除频道的选项。当我们的自动化运行时松弛时,我们创建一个通道并在完成后将其存档。这导致我们的工作空间中有大量存档频道。
当我们点击conversations.list 端点时,我们应用过滤器来排除存档频道,但过滤是在分页之后应用的,因此我们必须翻阅大量空白页面。最初我想我可以说如果一个页面是空的,就跳出循环并忽略其余的页面。但是,我发现如果我在第 3 页上取消存档频道,当我使用 conversations.list 时,第 1 页和第 2 页是空的(这些页面上的所有频道都已存档)并且新取消存档的频道仍将在第 3 页上。有了这种行为,我需要遍历所有页面以确保我抓住了所有未归档的频道。
我们使用conversations.list 端点来查看我们的软件中是否存在用于给定记录的通道。在创建新记录或编辑现有记录时,我们需要按名称搜索对话。为此,我们获取所有频道并定期填充本地频道缓存,以便我们可以查找给定频道名称的频道 ID。当我们必须填充通道缓存时,根据连接类型,可能需要几分钟才能获取所有通道
如果有一种方法可以在 API 中按名称搜索频道,这将解决问题,因为我们可以只搜索我们需要的频道名称,而无需获取每个频道。但是,我在 API 参考中找不到这样的方法,conversations.list 的额外参数似乎没有帮助。
只是想知道是否有人遇到过这样的问题,如果遇到过,他们做了什么来解决这个问题?感谢阅读!
【问题讨论】:
标签: slack-api