使用Slack conversations.history接口无法获取DM消息问题求助
解决Slack conversations.history API获取DM消息为空的问题
- 确认
channel参数为IM通道ID:Slack的DM通道ID以D开头(如DXXXXXXX),不要传入用户ID(U开头)。可以调用conversations.list并指定types=im,拉取当前授权账号有权访问的所有IM通道,找到对应会话的正确ID。 - 验证
im:history权限:再确认授权的scopes中是否包含im:history(公开频道用的是channels:history,DM需要单独的im:history权限),配置后需重新授权确保权限生效。 - 检查时间范围参数:如果调用时传入了
oldest或latest,可能时间范围设置过窄导致无匹配消息,尝试去掉这两个参数调用,获取全部历史消息。 - Bot token需确认DM会话存在:如果使用Bot token调用,Bot必须与目标用户存在活跃DM会话(用户主动发过消息给Bot,或Bot主动发起过DM),否则无法访问该会话历史。使用用户token则无此限制。
- 排查分页逻辑:如果消息总数超过100条,默认只返回第一页,但如果第一页为空则无需处理;若后续有消息,需根据
has_more字段和cursor参数分页拉取,但此情况一般不会直接返回空列表。
内容的提问来源于stack exchange,提问作者Junaid Soomro
相关产品推荐
相关产品推荐

