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

时间:2017-12-14 01:50:59

标签: python slack slack-api

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

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

但是我收到错误消息:

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

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

  

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

但它不应该给我一个有偿服务'在那种情况下回应呢?

3 个答案:

答案 0 :(得分:3)

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

要设置deleted属性,还有另一种名为users.admin.setInactive的API方法。它是一种无证的方法,只适用于有偿团队。

答案 1 :(得分: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`

答案 2 :(得分:0)

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