如何通过 slack API 删除/禁用用户?

问题描述 投票:0回答:4

我已经尝试了多种方法来解决这个问题。首先尝试获取没有任何用户 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
4个回答
4
投票

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

要设置

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

注意:这需要一个legacy token并且不适用于App token - 这些仅适用于付费计划并且不能再创建新的legacy token


0
投票

在 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`

0
投票

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


0
投票

停用“API”不向公众开放。您几乎必须加载 slack 管理页面并获取凭据令牌并弄清楚要命中的 AJAX 调用。

我刚刚写了一个 chrome 扩展来做到这一点。

https://chrome.google.com/webstore/detail/bulk-slack-user-deactivat/bbklkhjijobpamjeemohloddompcehkc

如果您遇到任何问题,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.