【问题标题】:Issue while trying to receive message notifications from Slack尝试从 Slack 接收消息通知时出现问题
【发布时间】:2021-12-30 18:24:30
【问题描述】:

关于

一旦用户在群组或频道中发布消息或直接在 slack 中发布消息,我就会尝试接收发布在我的服务器上的消息。

应用状态

已验证文件中发布挑战的代码。

header('Content-type: application/json');
$myfile = fopen("test.txt", "w") or die("Unable to open file!");
$data = json_decode(file_get_contents('php://input'), true);
fwrite($myfile, $data["challenge"]);
fclose($myfile);
$json = '{"challenge":' . $data["challenge"] . '}';
echo json_encode(["challenge" => $json]);

问题

现在上面的url已经验证成功了,我还是收不到贴出来的消息。我期待在用于验证质询参数的相同 url 上发布消息。对吗?

在检索发布在我的服务器上的消息时,我是否遗漏了任何内容?

更新 - 1

由于某些原因,我什至无法再验证网址。我的服务器没有收到任何数据。我正在尝试保存我身边发布的任何内容,但每次都总是空白,

【问题讨论】:

  • 您如何尝试检索已发布的消息?我认为这里没有这样做的尝试。

标签: php slack


【解决方案1】:

我认为你的假设是正确的。

根据 slack 文档,您应该在此端点接收具有给定有效负载的帖子:

https://api.slack.com/apis/connections/events-api#the-events-api__receiving-events__events-dispatched-as-json

我仍然不确定您如何验证情况并非如此,如果您保留上面的代码,您将看不到 slack 发送的发布数据的结果,即使您不返回响应状态200,slack 将在 1 小时后停止发布到此端点。

https://api.slack.com/apis/connections/events-api#the-events-api__responding-to-events

您可以尝试添加 test.php 文件,例如:

<?php

// get all the POST requests
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    file_put_contents('test.json', json_encode($_POST, JSON_PRETTY_PRINT), FILE_APPEND);
    // return 200
    http_response_code(200);
    echo json_encode(["success" => true]);
    return;
}

一开始,再次验证 url 并检查请求是否开始保存在 test.json 上。


或者,您可以检查您的网络服务器是否将 POST 请求路由到此 url?

尝试使用邮递员进行验证

【讨论】:

  • @Pankaj 请停止寻求异地帮助。用户可以根据 Q&A 格式在自己的时间提供他们可以提供的帮助。如果这还不够,我建议你雇人为你做这项工作。
猜你喜欢
  • 1970-01-01
  • 2023-03-28
  • 2016-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 2011-05-07
  • 1970-01-01
相关资源
最近更新 更多