Home Articles

Slack范围和僵尸用户

Asked
Viewed 1806 times
1

我'm writing an internal app that uses the Slack python client. I'm通过机器人用户进行身份验证并尝试调用 users.lookupByEmail() 方法获取特定用户的Slack信息:

sc = SlackClient(SLACK_TOKEN)
user = sc.api_call(method='users.lookupByEmail', email=email)

但是我回过头来看:

'{"ok":false,"error":"missing_scope","needed":"users:read.email","provided":"identify,read,post,client,apps"}'

根据API文档(https://api.slack.com/methods/users.lookupByEmail),bot用户应该可以访问此方法 . 所以我猜我的机器人没有 users:read.email 范围 . 反正有没有添加?作为一种解决方法,我正在调用 users.list() 方法,只是通过迭代,但这对我们拥有的数百个用户来说效率非常低 .

2 Answers

  • 0

    是的,你需要 users:read.email 范围 .

    只需重新验证您的Slack应用程序并包含该范围即可 .

    但是,如果您使用机器人自定义集成,则无法添加更多范围 . 然后我建议创建一个Slack应用程序,您可以通过单击"Create a Slack app"在this page上执行此操作 .

    请记住,Slack应用程序需要安装到您的工作区才能工作 . 您可以从应用程序的配置页面执行此操作 .

  • 0

    您可以在Slack应用程序管理页面中添加范围(权限) . 在基本信息下,

    • 转到添加功能并选择权限子部分 .

    • 在OAuth&Permissions页面上,向下滚动到Scopes - > Permission Scopes

    • 在"Add permission by scope or API method..."下拉列表中,滚动至"View email addresses of people on this workspace"并选择用户:read.email

Related