Я хочу подписаться на API-интерфейс Slack Events для любого сообщения, размещенного в слабом канале. Это следующие шаги, которые я принял, как указано в Slack Event API documentations.Мой URL-адрес запроса не принимает никаких событий для API-интерфейса Slack Events. Что мне не хватает?
- Я создал слабину приложения со следующими областями разрешения:
- каналы: история, группы: историей, им: история, mpim: история
- В подписках событий, я включил событие, подтвержденный URL-адрес запроса («https://api.example.com/slack/event/push») и подписан на следующие мероприятия команды:
- channel_history_changed, group_history_changed, message.channels, m essage.groups, message.im, message.mpim
Я просил пользователя пройти авторизацию для установки приложения. Ниже показан URL-адрес с объемом и перенаправлением uri. (Код PHP)
$ url = "https://slack.com/oauth/authorize/?client_id=". SLACK_CLIENT_ID. «& scope = users.profile: прочитайте, пользователи: читайте, группы: история, каналы: история, им: история, mpim: история». "& redirect_uri =". urlencode ('https://api.example.com/slack/oauth/callback'). "& состояние = XXXXXXXXX";
Я получаю код от slack, который я обмениваю на токен доступа.
Токен доступа: xoxp-XXXXXXXXX-XXXXXXXXX-XXXXXXX-XXXXXXXXXXXXXXXXXXXX Область применения: определить, каналы: история группы: история, им: история, mpim: история, пользователей: читать, users.profile: прочитать ID команды: XXXXXXXX
Я проверил приложения и интеграцию команды, чтобы увидеть, если приложение было установлено и да это в списке приложений.
Теперь, исходя из моего понимания, когда какое-либо сообщение размещено на любом канале команды, на мой проверенный URL-адрес («https://api.example.com/slack/event/push») должен быть отправлен запрос POST. Но я не получаю никакого запроса POST.
Я думал, что URL-адрес сломан, но я тестировал его с помощью счетчика, и каждый раз, когда URL-адрес попадает, он увеличивает счетчик. Таким образом, URL-адрес прекрасен.
Есть ли какой-то шаг, который я где-то пропустил? Я не знаю, что попробовать дальше.
Ваш подход выглядит нормально. Одна вещь, которую я хотел бы попробовать, - убедиться, что ваш PHP-скрипт действительно получает запросы POST. Включите полную запись в свой скрипт, и вы используете инструмент [hurl.it] (https://www.hurl.it/), чтобы отправить ему запрос POST. Сначала я бы попробовал с публичного канала. –
Я думал, что это может быть причиной и тщательно проверить мою конечную точку. Моя конечная точка POST ничего не делает, кроме как увеличивать счетчик в кэше redis. Я смотрю, увеличивается ли счетчик. Когда я ударяю конечную точку из POSTMAN или браузера, он увеличивает штраф, а это означает, что конечная точка не является неисправной. Я проверил событие с hurl.it, и проблем нет. Я читал в одном из документов, если конечная точка возвращает слишком много ошибок, а затем деактивирована на некоторое время. Я думал, что это может быть причиной, потому что он возвращал ошибку, когда я ее впервые установил. Но это был день и все еще я не вижу каких-либо почтовых запросов. –
Правильно ли преобразовывает urlencode ваш URL-адрес перенаправления? И «redirect_uri» должен соответствовать исходному URI (если он был отправлен)?? – DomeTune