【问题标题】:Cannot post payload to slack via yii app无法通过 yii 应用程序将有效负载发布到 slack
【发布时间】:2015-11-13 00:01:27
【问题描述】:

我希望从我的 yii 应用程序中发布一个简单的 Slack 传入 WebHook,但我似乎无法将任何内容交付给 Slack。我相信我已经在我的 php.ini 中启用了 curl,我一直在使用来自 yii 扩展的 curl 包装器 (https://github.com/hackerone/curl)

这是我的代码;

$url = 选项::getSlackWebhookUrl();

        $json_data = json_encode(array(
            "text"=>"I'm a notification from yiiapp to Slack channel <" . Options::getSlackChannel() . ">", 
            "username"=> "yiiapptest",
            "channel"=> Options::getSlackChannel()
        ));
        $post_data['json_data'] = $json_data;

        $output = Yii::app()->curl->post($url, $post_data);

        // Just for debug: to see response
        echo "<pre>" . $url . " + " . $output . " (" . $json_data . ")</pre>";

这是我要查看的输出;

https://hooks.slack.com/services/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 + No payload received ({"text":"I'm a notification from yiiapp to Slack channel <#digital>","username":"yiiapptest","channel":"#digital"})

我的 $output 只是给了我一个“未收到有效负载”。如果我在我的 url 上使用 urlenode(),我会得到一个 'Error 500 - Undefined Index:scheme'

谁能看出我哪里出错了?

【问题讨论】:

    标签: php curl yii webhooks slack


    【解决方案1】:

    你需要改变

        $post_data['json_data'] = $json_data;
    

        $post_data['payload'] = $json_data;
    

    它正在等待名为“payload”的 post 变量

    【讨论】:

    • 啊,谢谢伙计 - 不知道我怎么没看到,非常感谢,很管用。
    猜你喜欢
    • 2020-09-04
    • 1970-01-01
    • 2023-04-03
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多