Как проще всего найти идентификатор Slack-команды и идентификатор канала?

108

Мы пытаемся настроить диплинкинг в Slack, как описано здесь:

https://api.slack.com/docs/deep-linking

В документе указано, что для открытия конкретной команды необходимо использовать следующий URL:

slack: // open? team = {TEAM_ID}

Откройте Slack и переключите команды на указанную команду. Предоставленный TEAM_ID должен быть строкой, например T12345.

Кроме того, чтобы открыть канал в команде, следует использовать следующий URL:

резерв: // канал? team = {TEAM_ID} & id = {CHANNEL_ID}

Откройте канал, указанный в CHANNEL_ID в поле id, например C024BE91L. Также необходимо указать команду с TEAM_ID.

У меня простой вопрос. Где я могу узнать, какой TEAM_ID мне нужен и какой CHANNEL_ID мне нужен?

lfboulanger
источник
В зависимости от того, как вы делаете это, вы должны быть в состоянии извлечь POST со всеми деталями , что вам нужно: api.slack.com/outgoing-webhooks , например
ntgCleaner
Принятый ответ больше не работает в 2019 году. Рассмотрите возможность изменения принятого ответа на ответ @SamuelDev, который действительно работает. stackoverflow.com/a/57246565/190298
Ник
1
Спасибо @Nic! Просто сделал это, извините за задержку.
lfboulanger

Ответы:

34

По состоянию на июль 2019 года похоже, что идентификатор команды и идентификатор канала уже отображаются в Интернете.

введите описание изображения здесь

Как вы можете видеть на снимке экрана, от 2-го до последнего узла является идентификатор команды (с префиксом «T»), а последний узел - это идентификатор канала (с префиксом «C»). Все, что вам нужно сделать, это открыть Slack через Интернет, перейти на определенный канал, и вы увидите, что URL-адрес изменился на что-то похожее на снимок экрана выше.

SamuelDev
источник
1
Это единственный подход, который сработал для меня в 2019 году.
Ник
5
ПРИМЕЧАНИЕ : вам действительно не нужно запускать веб-интерфейс - просто скопируйте ссылку на любое сообщение в общедоступном канале, представляющем интерес, в выбранном вами клиентском приложении - и проверьте полученный URL-адрес
Антон К.
1
@AntonK, хммм, я не знаю, как это сделать. Я пробовал это в своем приложении Slack Windows (v4.2.0). Я скопировал ссылку на одно из сообщений , в одном из наших общедоступных каналов, и URL выглядит следующим образом : https://team.slack.com/archives/C########/p################. Я, вероятно, могу получить идентификатор канала, но не идентификатор команды.
SamuelDev
106

Вот самый простой способ вручную найти идентификаторы Slack.

1. Любой идентификатор канала.

Откройте веб-страницу Slack ( http://yourteam.slack.com ), а затем просто откройте канал. Идентификатор канала отображается в URL-адресе браузера:

получить любой идентификатор канала


2. Любой идентификатор пользователя.

Чтобы найти идентификатор пользователя, вам нужно открыть консоль инструментов разработчика браузера и проверить ссылку пользователя на боковой панели. Идентификатор пользователя можно найти в атрибуте HTML "data-member-id":

получить любой идентификатор пользователя

Или в резерве: (1) Щелкните имя пользователя и выберите (2) «Показать профиль». Затем откройте меню «...», и вы увидите опцию (3) «Копировать идентификатор участника ...» - чтобы получить собственный идентификатор пользователя через пользовательский интерфейс, вам нужно щелкнуть логотип команды в верхнем левом углу. а затем выберите «Профиль и учетная запись» (это не показано на скриншоте)

получить идентификатор пользователя членов команды


3. ID команды

Просто откройте инструменты разработчика вашего браузера, перейдите на вкладку «Консоль» и введите текст boot_data.team_idв консоль. Это отобразит идентификатор вашей команды:

получить идентификатор команды

Филипп
источник
3
Спасибо @ Paulin'tHout - как-то я перепутал идентификатор команды с идентификатором пользователя ... Я обновил ответ, чтобы также описать, как быстро получить идентификатор команды
Филипп
1
Для поиска идентификатора канала и идентификатора команды, согласно исходному вопросу, это определенно самый быстрый и простой ответ, и он должен быть принятым ответом.
gbe
2
похоже, что форматы URL- адресов
Ральф Каллэуэй
74

Немного другой ответ на уже существующие.

Всякий раз, когда мне нужно было быстро узнать, какие идентификаторы нужны для конкретной команды , я просто открывал веб-клиент Slack и проверял соответствующие элементы. (Использование инструментов разработчика Chrome)

https://my.slack.com/messages

<a>Тег , который ссылается на пользователь , как правило, включает в себя data-member-idатрибут, содержание которого является идентификатором пользователя.

То же самое и с каналами. Если вы проверите любой из каналов на боковой панели, вы увидите, что они упорядочены как <li>элементы списка, каждый из которых содержит идентификатор канала в имени класса.

Для идентификатора команды вы можете открыть весь исходный код веб-клиента Slack и нажать CTRL-F для своего team_domain(например, myslack55для myslack55.slack.com), и это должно найти вам идентификатор команды.

В принципе, все это спрятано на виду. Вам просто нужно знать, где искать;)

Вильгельм Клопп
источник
Спасибо! Это самый простой способ, который я когда-либо видел!
lfboulanger
информация team_domain отсутствует :( они могли удалить ее?
Карло
2
Очень умное решение. Но я этого не вижу. Перешел к https://my.slack.com/messagesразработчику> Источник (в Chrome). Поиск показывает только этот блок:// called by ssb when online var proceedToApp = function(last_team_domain_arg) { // do nothing, we're already in the app }
mbb
4
Даже после ответа @WilhelmKlopp мне было сложно найти идентификатор команды. Для меня самым простым способом было: 1. поискать api_tokenна странице источник и скопировать этот код 2. открыть это в браузере: https://slack.com/api/auth.test?pretty=1&token=<token-from-prev-step-here>3. в ответе копировать team_idзначение
bsmaniotto
11
Я нашел team_idего в источнике страницы. Это было в названном объекте boot_data.
zackdever 07
40

Ответ, помеченный здесь как правильный, мне не подходит, но, возможно, я нашел еще более простой способ с тестовыми токенами.

  1. Создайте тестовый токен: https://api.slack.com/docs/oauth-test-tokens

  2. Прокрутите вниз до "попробуйте прямо сейчас!" кнопка. Вы попадаете на auth.test: https://api.slack.com/methods/auth.test/test

  3. Выберите команду, которую хотите протестировать, и щелкните Метод проверки . Вы можете найти там свой team_iduser_id).

  4. Сделайте то же самое для channels.list. Вы можете нажать «Просмотреть другой метод» и выполнить поиск или перейти по адресу : https://api.slack.com/methods/channels.list/test

  5. Снова выберите команду и метод тестирования . Cmd+ Fчерез channelsобъект ищет все, что channel_idвам нужно.

mbb
источник
3
Спасибо, для меня это был самый простой способ.
Omertron 08
27

По состоянию на 2017 год, похоже, что слабину было проще найти.

Вот самый простой способ найти идентификаторы команд вручную.

Посетите свою комнату отдыха через веб-браузер. Щелкните правой кнопкой мыши> «Просмотреть исходный код»

И найдите Team_id:

Рокки Кев
источник
7

Вы также можете просто щелкнуть правой кнопкой мыши свободный канал (или прямое сообщение) в настольном приложении и выбрать опцию «Копировать ссылку».

Это даст вам URL-адрес формы: https://org.slack.com/messages/[channel-ID]

Я подтверждаю, что это работает на High Sierra Mac OSX - Slack 3.1.1

Джоэл
источник
Это, безусловно, лучший и самый простой ответ. Спасибо
Хоакин Юрчук
2

ID команды

Самый простой способ получить идентификатор вашей команды - использовать метод auth.test в Slack API с вашим токеном доступа.

ID канала

В зависимости от того, нужен ли вам публичный или частный канал, вы можете вызвать соответствующий метод Slack API, чтобы получить список всех каналов, включая. их идентификаторы.

Обратите внимание, что вы можете видеть только частные каналы, в которые был приглашен пользователь / бот, принадлежащий вашему токену доступа.

Токен доступа

Чтобы получить токен доступа, вы можете запросить «тестовый токен» на странице Slack API в разделе «Тестовый токен» (рекомендуется только для целей тестирования Slack). Или вы можете создать приложение Slack и установить это приложение для своей команды Slack с помощью Oath, который также сгенерирует токен доступа для конкретного приложения.

Эрик Калкокен
источник
Плохо, что Slack не предоставляет поиск каналов по имени. В их часто задаваемых вопросах просто предлагается пройтись по всему списку каналов, чтобы найти тот, который вам нужен: См. «Как мне найти идентификатор канала, если у меня есть только его #name?» На api.slack.com/faq
Camden S.
@CamdenS .: Теперь это можно сделать с помощью недавно добавленной функции интерактивного меню. Посмотрите мой соответствующий ответ:
Автозаполнение