Подтвердить что ты не робот

Приглашение команды Slack API

Я ищу вызов, который мог бы отправить приглашение приглашения команды Slack новому пользователю из моего приложения. Я искал его в SlackAPI, но ничего не нашел. Возможно ли создать приложение, которое отправило бы приглашения от моего имени?
В настоящее время я использую slacker в качестве оболочки Python, но если есть какая-либо улучшенная библиотека, которая предоставляет приглашения, я могу начать ее использовать.

4b9b3361

Ответ 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 есть конечная точка для непосредственного создания новых пользователей:

POST/Users

Однако SCIM API со всеми его конечными точками доступен только для рабочих областей Slack в плане Plus или Enterprise Grid.

ОБНОВИТЬ

API users.admin.invite требует, чтобы ваш токен действовал для client. Это одна из так называемых "специальных областей", которая плохо документирована. Также устаревшая версия токена больше не работает для этого API. Вы должны использовать новый и отправить его как Авторизация: Носитель. Также тип контента должен быть multipart/form-data

Еще немного информации о недокументированном API здесь

И здесь описано, как получить/обновить токен для client области.

В основном это следующие шаги:

  1. Войдите в Slack, перейдите к деталям вашего зарегистрированного приложения, чтобы увидеть ClientId и Secret.
  2. Определите некоторый URL перенаправления, который действителен, но не будет перенаправлять.
  3. Получите доступ к этому URL https://# {team}.slack.com/oauth/authorize? Client_id = # {cid} & scope = client (очевидно, вам необходимо заполнить заполнители)
  4. Slack перенаправит вас на экран подтверждения
  5. Когда вы одобряете авторизацию, вы переходите на реальный URL, который не разрешается. Скопируйте весь URL в буфер обмена и вставьте его в текстовый файл. Извлеките только часть кода.
  6. Теперь перейдите к https://# {team}.slack.com/api/oauth.access? Client_id = # {cid} & client_secret = # {cs} & code = # {code} "
  7. И вы получите обратно токен, как: xoxp-4422442222–3111111111–11111111118–11aeea211e
  8. этот токен теперь имеет "клиентскую" область

Ответ 2

Похоже, что это перестало работать, поскольку требует добавления области "клиенты", если вы попытаетесь добавить эту область в процесс токена, на который он отвечает "невозможно добавить устаревшую область"