Slack входящих webhook - отправить сообщение на другой канал

Я пытаюсь отправить сообщение на любой канал в слабой команде.

Мой webhook был правильно создан и установлен в мою команду тестирования. В рамках процесса установки я выбрал "Опубликовать на #channel1"

Когда я просматриваю разрешения, я вижу, что моему приложению были предоставлены другие / сообщения для определенных каналов в Slack (#channel1).

Оттуда я могу опубликовать в #channel1 с базовым запросом JSON:

{
    "text":"Hello, World!"
}

Теперь я хочу подтвердить, что могу использовать тот же веб-крючок для публикации на любом другом канале той же команды. Итак, я создал канал #channel2 и пытаюсь выполнить следующий запрос:

{
    "channel":"#channel2",
    "text":"Hello, World!"
}

Запрос принят (HTTP Status 200), но все равно публикуется на #channel1.

Что я делаю неправильно? Это проблема синтаксиса или разрешения? Я предполагаю, что это скорее проблема с разрешениями, но я не нашел, как предоставить моему приложению доступ к дополнительным каналам (или ко всем каналам).

С уважением.

1 ответ

Я создал входящий Webhook и нашел эту документацию (см. Изображение)

Я выполнил инструкции, приведенные в нем, и обнаружил, что это сработало. Я могу отправить сообщение на другой канал, отличный от того, для которого был установлен Incoming Webhook

Приложение нуждается в chat:write:bot разрешение публиковать сообщения на других каналах.

Разрешение можно добавить в разделе "Управление приложениями" → "Ваше приложение" → "OAuth & Permissions":

Разрешение по умолчанию и разрешение, необходимое для публикации на других каналах / пользователях

Читая собственную документацию Слэка, это не было очевидно для меня. (хотя он упоминается в разделе "Использование веб-API" в разделе "Введение в обмен сообщениями".)

Другие вопросы по тегам