首页 > 解决方案 > 未收到 Slack 交互式有效负载

问题描述

我已经设置了带有操作按钮的通知,但我没有收到交互式有效负载。我在这里配置了 webhook URL: 松弛应用程序设置

当我在 Postman 中发布到该 URL 时,一切都很好。但是当我按下按钮时,我没有收到对该 URL 的回调,我什么也得不到(我正在记录对该 URL 的所有请求)。我的按钮旁边还有一个警告三角形,如下所示: 警告

我没有得到其他反馈,也没有我应该调试的想法。

带有按钮的按摩是通过 Laravel 的 Slack 通知通道以及此包发布的,用于块支持:https ://github.com/nathanheffley/laravel-slack-blocks

这是发送通知的代码,但我认为它不相关:

public function toSlack()
{
    $model = $this->model;

    $message = (new SlackMessage())
        ->error()
        ->content('New report!');

    $message->attachment(function ($attachment) use ($model) {
        $attachment->block(function ($block) {
            $block
                ->type('actions')
                ->elements([
                    [
                        'type' => 'button',
                        'text' => [
                            'type' => 'plain_text',
                            'text' => 'Approve',
                            'emoji' => false,
                        ],
                        'value' => 'click_me_123',
                        'action_id' => 'approve_x',
                        'style' => 'primary',
                    ],
                    [
                        'type' => 'button',
                        'text' => [
                            'type' => 'plain_text',
                            'text' => 'Reject',
                            'emoji' => false,
                        ],
                        'value' => 'click_me_1234',
                        'action_id' => 'reject_x',
                        'style' => 'danger',
                    ],
                ]);
        });
    });

    return $message;
}

任何想法我应该如何进行调试?

标签: laravelslackslack-apilaravel-notification

解决方案


今天,我注意到如果我悬停三角形,我会得到更多信息,但我很确定昨天没有用。我在那里收到消息“500 服务器错误”。

问题是负载 JOSN 是作为表单数据字段发送的,而不是像往常一样在 POST 请求正文中发送。他们为什么要这样发送有效载荷?这没有道理。


推荐阅读