Я ищу вызов, который мог бы отправить приглашение приглашения команды Slack новому пользователю из моего приложения. Я искал его в SlackAPI, но ничего не нашел. Возможно ли создать приложение, которое отправило бы приглашения от моего имени?
В настоящее время я использую slacker в качестве оболочки Python, но если есть какая-либо улучшенная библиотека, которая предоставляет приглашения, я могу начать ее использовать.
Приглашение команды Slack API
Ответ 1
Приглашайте новых пользователей через API
В Slack API есть недокументированный метод, который позволяет программно приглашать новых пользователей в рабочее пространство Slack:
- имя метода:
users.admin.invite
- аргументы:
token
,email
,channels
- токен: ваш слабый API "тестовый" токен (обязательно)
- электронная почта: адрес электронной почты, например,
[email protected]
(обязательно) - каналы: список каналов, разделенных запятыми, новый пользователь автоматически присоединится. каналы указаны по ID. например,
channels=C000000001,C000000002
(необязательно)
полный пример:
https://slack.com/api/users.admin.invite?token=XXX&[email protected]&channels=C000000001,C000000002
Я начал документировать "недокументированные" методы Slack API, о которых я знаю, в том числе users.admin.invite
. Ознакомьтесь с документацией на github.
Создание новых пользователей через API
В качестве альтернативы в API SCIM есть конечная точка для непосредственного создания новых пользователей:
Однако SCIM API со всеми его конечными точками доступен только для рабочих областей Slack в плане Plus или Enterprise Grid.
ОБНОВИТЬ
API users.admin.invite
требует, чтобы ваш токен действовал для client
. Это одна из так называемых "специальных областей", которая плохо документирована. Также устаревшая версия токена больше не работает для этого API. Вы должны использовать новый и отправить его как Авторизация: Носитель. Также тип контента должен быть multipart/form-data
Еще немного информации о недокументированном API здесь
И здесь описано, как получить/обновить токен для client
области.
В основном это следующие шаги:
- Войдите в Slack, перейдите к деталям вашего зарегистрированного приложения, чтобы увидеть ClientId и Secret.
- Определите некоторый URL перенаправления, который действителен, но не будет перенаправлять.
- Получите доступ к этому URL https://# {team}.slack.com/oauth/authorize? Client_id = # {cid} & scope = client (очевидно, вам необходимо заполнить заполнители)
- Slack перенаправит вас на экран подтверждения
- Когда вы одобряете авторизацию, вы переходите на реальный URL, который не разрешается. Скопируйте весь URL в буфер обмена и вставьте его в текстовый файл. Извлеките только часть кода.
- Теперь перейдите к https://# {team}.slack.com/api/oauth.access? Client_id = # {cid} & client_secret = # {cs} & code = # {code} "
- И вы получите обратно токен, как: xoxp-4422442222–3111111111–11111111118–11aeea211e
- этот токен теперь имеет "клиентскую" область
Ответ 2
Похоже, что это перестало работать, поскольку требует добавления области "клиенты", если вы попытаетесь добавить эту область в процесс токена, на который он отвечает "невозможно добавить устаревшую область"