代码之家  ›  专栏  ›  技术社区  ›  Alan Doolan

心轴入站Webhook

  •  0
  • Alan Doolan  · 技术社区  · 9 年前

    我已经找了几个小时的答案,但还是没有找到答案。我希望有人能帮忙。

    我设置了一个邮箱路由,以传递到一个页面,它可以从发布事件中检索特定信息,但无论我在自己的页面上尝试什么,$_post['mandrill_events']似乎永远不存在,但如果使用 http://requestb.in/ 它正在接收一些东西。我尝试了以下代码,但没有成功:

    $test = (json_decode($_POST['mandrill_events']));
    $testinfo = $test->event;
    

    $test = json_encode(json_decode($_POST['mandrill_events']));
    

    $data = $_POST;
    $restult_data_decode = json_decode($data['mandrill_events']);
    $message_id = $restult_data_decode[0]->_id;
    

    $value = json_decode(file_get_contents('php://input'));
    $info = json_encode($value);
    

    以及这些的各种alt版本。这是我第一次设置webhook,不确定它是否只是一个$_POST,或者我是否需要使用我的服务器或使用任何特定的第三方代码等。

    谢谢

    我在访问文件中收到以下内容:

    [22/Jan/2016:08:57:53 +0000] "POST /system/email-webhook.php HTTP/1.1" 200 257 "-" "Mandrill-Webhook/1.0" 
    

    所以它看起来确实在做什么,只是$_POST是空的

    2 回复  |  直到 9 年前
        1
  •  0
  •   Alon Zilberman    9 年前

    看起来你只是没有收到 POST 来自mandrill的请求,首先检查服务器的accesslog,确保mandrill请求出现在那里并带有有效的http代码。其次,检查用于webhook的URL是否正常工作。尝试发送 岗位 请求 mandrill_events 你可以自己使用 this plugin )并检查发生了什么。

        2
  •  0
  •   Alan Doolan    9 年前

    似乎这与接收页面上的权限有关。我改变了这一点,从那时起就起了作用。