我正在编写一个使用Slack python客户端的内部应用程序。我通过机器人用户进行身份验证并尝试调用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()
方法并且只是通过迭代来解决这个问题,但对于我们拥有的数百个用户而言效率非常低。
答案 0 :(得分:0)
是的,您需要users:read.email
范围。
只需重新验证您的Slack应用程序并包含该范围即可。
但是,如果您使用机器人自定义集成,则无法添加更多范围。然后我建议创建一个Slack应用程序,您可以在this page上点击"创建一个Slack应用程序"。
请记住,Slack应用程序需要安装到您的工作区才能工作。您可以从应用程序的配置页面执行此操作。
答案 1 :(得分:0)
您可以在Slack应用程序管理页面中添加范围(权限)。在基本信息下,