Slack: Slash Command - ошибка 403 при запросе PHP / JSON

Мои команды Slash в Slack внезапно перестали работать 2 месяца назад.

Настройка относительно проста:

  • Использование простых команд с косой чертой в приложении Slack, созданном только по этой причине
  • Добавление страницы PHP на веб-сайт для обработки команды slack
  • Сценарий PHP возвращает ответ JSON для обработки резервов

Я сократил код PHP до следующего (в целях тестирования):

header('Content-Type: application/json'); // response to slack in JSON

$jsonReturn = array();

$jsonReturn['response_type'] = "in_channel";
$jsonReturn['text'] = 'TEST MESSAGE HERE.'; 
die(json_encode($jsonReturn)); // exit JSON with die()

В Slack я получаю следующее сообщение об ошибке:

Черт, эта команда косой черты не сработала (сообщение об ошибке: 403_client_error). Управляйте командой в APPNAME.

Я попробовал следующее, чтобы решить проблему:

  • изменил URL запроса с HTTPS на HTTP
  • включен и отключен токен подтверждения

Если я открою сайт PHP прямо на своем компьютере или мобильном телефоне, я увижу правильный возврат JSON.

Slack работает в сети нашей компании, но я полагаю, что ошибка возникла при изменении API Slack, но я действительно не знаю, какое изменение могло вызвать это.

Спасибо!

403 запрещено. проверьте URL-адреса slack-вызовов, вы уверены, что это то же самое?

delboy1978uk 18.10.2018 13:57

Да, я скопировал URL-адрес запроса из формы редактирования команды, и в браузере он показывает мне результат JSON, но Slack его не получает.

Dollique 18.10.2018 14:11

Ошибка 403 означает, что Slack не авторизован для доступа к вашему URL. Поскольку вы находитесь в сети компании, вероятно, что в брандмауэре компании произошли изменения, которые теперь предотвращают доступ к Slack. (И нет, Slack не работает в сети вашей компании, это облачный сервис). Вы можете исправить это, перенеся свой скрипт на общедоступный веб-сервер, используя такую ​​службу, как нгрок, или поговорите со службой безопасности вашей компании, чтобы открыть брандмауэр. (Также НЕ изменился API для ответов на команды с косой чертой)

Erik Kalkoken 18.10.2018 14:36

Спасибо за советы и разъяснения. Я проверил результат JSON с помощью echo.jsontest.com, и с этим общедоступным серверным тестом он работает. Я сейчас посмотрю с командой безопасности.

Dollique 18.10.2018 14:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
4
1 656
0

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