我已经配置了 Slack outgoing-webhook,但我不确定如何处理 Slack 发送到我指定的 URL 的 HTTP POST 请求。 工作流程是这样的。当有人向指定 channel 发送消息时,API 将向指定 URL 之一发送 HTTP POST 请求(我可以在该 URL 上使用该 POST 执行某些操作)。 目前我无法在我的 PHP 代码中处理该请求。 我使用了下面的代码,因为它适用于由表单制作的 POST。
<?php
if(isset($_POST['text'])){ echo $_POST['text'];}
?>
但它不起作用。当我从 API 接收 POST 时,我需要处理此请求以从中获取数据。
我们将不胜感激任何帮助。
最佳答案
假设您的脚本可以通过公共(public) URL 访问并在 Slack 中正确配置为 outgoing webhook (记住你需要一个触发词或配置一个公共(public) channel )它将收到 Slack 请求。可以像通过超全局 $_POST
一样访问 Slack 参数,但是您的 echo 命令将不起作用。
如果您想将消息发回 Slack,您需要使用 Slack 格式的消息。这是一个例子:
$message = ["text" => "Hello Slack"];
echo json_encode($message);
但是要小心。如果您已将 webhook 配置为监听 channel ,则向 Slack 发回消息将再次触发 webhook 并创建循环。因此,仅当您已将 webhook 配置为监听触发词时才这样做。
或者如果你只是想看看有没有收到,我会建议把它写成一个日志,这样你以后可以查看。这里有一个非常简单易用的Logger对于 PHP。它没什么特别的,但非常适合小型项目和测试。或者使用 Monolog ,一个流行的 PHP 记录器。
关于php - 如何使用 php 处理 outgoing-webhook (Slack),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42419340/