Slack API not returning private channels(Sack API未返回私有频道)
问题描述
我正在尝试获取Slack中的私人频道列表(每个用户都可以),但我在查看此信息时遇到了困难。我最初将我的应用程序安装到Slack的工作区中,得到了xoxp-4...........
形式的OAuth令牌。
App OAuth令牌
当我尝试使用Sack API(节点SDK)时,我只能得到公开列出的频道。
await new WebClient(`xoxp-4.....`)
.conversations
.list({ exclude_archived: true })
).channels
如果我尝试使用Slack API测试器抓取channel list,得到的结果相同。
用户OAuth令牌
我已经按照OAuth 2.0流程获取了给定用户(我自己)的令牌。我认为我做得很正确(以下是我的回复):
{
ok: true,
access_token: 'xoxp-4.........',
scope: 'identify,bot,commands,channels:history,groups:history,im:history,mpim:history,channels:read,emoji:read,groups:read,im:read,search:read,team:read,users:read,users:read.email,usergroups:read,users.profile:read,chat:write:user,chat:write:bot,links:read',
user_id: 'UD......',
team_name: '............',
team_id: '.......',
scopes: ['identify',
'bot',
'commands',
'channels:history',
'groups:history',
'im:history',
'mpim:history',
'channels:read',
'emoji:read',
'groups:read',
'im:read',
'search:read',
'team:read',
'users:read',
'users:read.email',
'usergroups:read',
'users.profile:read',
'chat:write:user',
'chat:write:bot',
'links:read'
]
}
有趣的是,我发现这为我提供了完全相同的OAuth令牌,如果我转到应用程序管理(我假设是因为是我将应用程序安装到工作区)。
显然,因为它是相同的令牌,所以我仍然没有权限查看私有频道,尽管据我所知,我应该能够作为用户做我能做的一切?
有人能告诉我我可能遗漏了什么吗?
推荐答案
您没有获得专用频道的原因是您没有请求它们。
conversations.list
方法默认只返回公共频道。要获得私有频道,您需要相应地设置参数types
。例如types = public_channel,private_channel
。
类似于调用channels.list
。Channels.list
将仅返回公共频道。如果您想获取私密频道,您需要拨打groups.list
。(请注意,由于历史原因,私有频道在API中称为组)。
总的来说,我建议使用conversations.list
,这是更强大的方法,也是获取所有类型对话的推荐方法。
这篇关于Sack API未返回私有频道的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Sack API未返回私有频道


- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- Fetch API 如何获取响应体? 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 失败的 Canvas 360 jquery 插件 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01