【问题标题】:how to handle outgoing-webhook (Slack) using php如何使用 php 处理传出 webhook (Slack)
【发布时间】:2017-07-14 03:30:42
【问题描述】:

我已经配置了 Slack 传出 Webhook,但我不确定如何处理 Slack 发送到我指定 URL 的 HTTP POST 请求。 工作流程是这样的。当有人向指定通道发送消息时,API 将向指定 URL 之一发送 HTTP POST 请求(我可以在该 URL 上使用该 POST 执行某些操作)。 目前我无法在我的 PHP 代码中处理该请求。 我使用了下面的代码,因为它适用于表单制作的 POST。

<?php
    if(isset($_POST['text'])){ echo $_POST['text'];}
?>

但它不起作用。当我从 API 接收 POST 时,我需要处理这个请求以从中获取数据。

我们将不胜感激。

【问题讨论】:

    标签: php html webhooks slack


    【解决方案1】:

    假设您的脚本可以通过公共 URL 访问,并且在 Slack 中正确配置为 outgoing webhook(请记住,您需要触发词或配置公共频道)它将收到 Slack 请求。可以像通过超全局 $_POST 一样访问 Slack 参数,但是您的 echo 命令将不起作用。

    如果您想将消息发送回 Slack,您需要使用 Slack 格式的消息。这是一个例子:

    $message = ["text" => "Hello Slack"];
    echo json_encode($message);
    

    但要小心。如果您已将 webhook 配置为侦听向 Slack 发送回消息的通道,则将再次触发 webhook 并创建一个循环。因此,仅当您已将 webhook 配置为侦听触发词时才这样做。

    或者如果你只是想看看有没有收到,我建议你把它写到一个日志里,这样你以后可以查看它。这是一个非常简单易用的Logger for PHP。它没有什么花哨的,但适用于小型项目和测试。或者使用Monolog,一个流行的 PHP 记录器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 2018-04-16
      • 2017-04-08
      • 2018-10-07
      • 1970-01-01
      相关资源
      最近更新 更多