Читайте информацию для входящих слабаков через Api - PullRequest
1 голос
/ 29 апреля 2019

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

{
"access_token": "xoxp-XXXXXXXX-XXXXXXXX-XXXXX",
"scope": "incoming-webhook,commands,bot",
"team_name": "Team Installing Your Hook",
"team_id": "XXXXXXXXXX",
"incoming_webhook": {
    "url": "https://hooks.slack.com/TXXXXX/BXXXXX/XXXXXXXXXX",
    "channel": "#channel-it-will-post-to",
    "configuration_url": "https://teamname.slack.com/services/BXXXXX"
},
    ....
}

Это обеспечивает доступ к имени команды, каналу, который будет публиковать веб-крючок, и URL-адресу для настройки.

Хотя это прекрасно работает, и после первоначального сохранения «конфигурации» в моем собственном веб-приложении оно отображается правильно.Но после того, как кто-то использует ссылку 'configuration_url' из ответа, эти предыдущие значения, такие как канал, могут устареть.Например, веб-крючок может быть удален по этой ссылке.

Мой вопрос: есть ли способ отразить эти изменения в моем внешнем приложении?Насколько я вижу, нет никакого способа запросить информацию для «входящих веб-крючков» с помощью вызова API из внешнего веб-приложения?

Я также не смог найти какие-либо вызовы API, которые могли бы изменить конфигурацию Webhookнапрямую, без использования предоставленной ссылки.

1 Ответ

1 голос
/ 30 апреля 2019

Невозможно изменить конфигурацию webhook после его создания. Единственное возможное изменение заключается в том, что рабочее пространство, в котором установлено приложение Slack (которое содержит веб-крючок), удалено.

Если это произойдет, webhook больше не будет работать, и вы получите сообщение об ошибке.

Вы также можете получить уведомление, когда ваше приложение удалено, прослушав событие app_uninstalled.

Или вы также можете проверить работоспособность вашего приложения и веб-крючка, проверив токен, полученный во время процесса добавления в Slack. Просто вызовите метод API auth.test с этим токеном. Если он возвращает следующую ошибку, то webhook больше не действителен:

{
    "ok": false,
    "error": "invalid_auth"
}
...