【问题标题】:How to delete/disable user through slack API?如何通过 slack API 删除/禁用用户?
【发布时间】:2017-12-14 01:50:58
【问题描述】:

我已经尝试了多种方法。首先尝试获取没有任何用户 ID 的用户 - 这仅返回我的用户,然后尝试获取具有其他 ID 的用户,并且它也正确检索数据。但是,我似乎无法将用户属性设置为“已删除”。我正在使用这种 python 方法。

slack_client.api_call('users.profile.set', deleted=True, user='U36D86MNK')

但是我收到以下错误消息:

{u'error': u'invalid_user', u'ok': False}

也许有人已经这样做了?它在文档中说这是一项付费服务​​,在用户属性下提及此消息:

此参数只能由付费团队的团队管理员指定。

但在这种情况下,它不应该给我一个“付费服务”的响应吗?

【问题讨论】:

    标签: python slack slack-api


    【解决方案1】:

    users.profile.set 显然不适用于设置用户的每个属性。

    要设置deleted 属性,还有另一个API 方法称为users.admin.setInactive。这是一种未记录的方法,仅适用于付费团队。

    【讨论】:

    • 感谢您的回答!您是否碰巧知道此命令是否适用于两种计划(Standard 和 Plus)或仅适用于更昂贵的一种?
    • 身份证。但我认为它适用于任何付费计划。如果您需要确定,我建议您向 Slack 支持团队发送邮件。他们非常有帮助。
    • 太棒了!我加入了他们的机器人构建团队。我尝试使用您提到的这种方法,也提出了您的 github repo 并解释了该方法,但目前 api 响应说我需要启用客户端范围,但是当我在权限范围上查找它但它不存在..
    • @Zigmas 您需要一个旧令牌来获取客户端范围。
    【解决方案2】:

    在python中你可以做到以下几点:

    import requests
    
    def del_slack_user(user_id): # the user_id can be found under get_slack_users()
        key = 'TOKEN KEY' #replace token key with your actual token key
        payload = {'token': key, 'user': user_id}
        response = requests.delete('https://slack.com/api/users.admin.setInactive', params=payload)
        print(response.content)
    
    def get_slack_users():
        url = 'https://slack.com/api/users.list?token=ACCESSTOKEN&pretty=1'
        response = requests.get(url=url)
        response_data = response.json() # turns the query into a json object to search through`
    

    【讨论】:

      【解决方案3】:

      您可以使用 Slack 的 SCIM API 来启用和禁用用户。请注意,与其他答案中提到的未记录的 API 端点一样,这需要 Plus/Enterprise 帐户。

      【讨论】:

      • 嗨 dsummersl,如何在 c# 中为 SCIM api 编写 GET rest 查询。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-06
      • 1970-01-01
      相关资源
      最近更新 更多