Slack Dialog出错

时间:2018-02-14 10:48:26

标签: php dialog slack slack-api php-curl

我正在开发一个小型的应用程序开发。我遇到了一种情况。我正在使用松弛对话框从用户获取数据以及用户输入数据时 然后单击“提交”按钮我收到一条警告消息。我不知道是什么 是它以及为什么它发出警报。怎么办?请注意我明白了 我的交互式组件脚本中的负载响应。并用200响应服务器。这是我的响应代码:

 if($type == "dialog_submission")
 {
         http_response_code(200);
         return json_encode(array(
             'status' => 200,
             'message' => 'ok'
        ));

   $ch = curl_init("https://slack.com/api/chat.postMessage");
   $dataSet = http_build_query([
   "token" => $authToken,
   "channel" => $data['channel']['name'],
   "text" => "123",
   ]);

   curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
   curl_setopt($ch, CURLOPT_POSTFIELDS, $dataSet);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   $result = curl_exec($ch);
   curl_close($ch);

   echo $result;

    }

Screenshot of alert message

2 个答案:

答案 0 :(得分:1)

尝试类似:

if($type == "dialog_submission") {
  return json_encode(array(
    'status' => 200,
    'message' => ''
  ));
}

答案 1 :(得分:0)

您需要向Slack对话框返回空响应,否则您将收到错误

  

我们在连接方面遇到了一些麻烦。再试一次?

所以你必须在某个地方有一个回显,它会向Slack对话框返回一些错误。你需要删除它们。就像最后的echo $result;一样。

如果您的脚本有运行时错误,也会发生此错误,因为它会在test.php第101行中创建一个自动响应,例如"错误...."。要检查这一点,请确保已激活错误日志记录并检查日志文件中是否有任何错误。

通过将这些命令放在脚本的开头来激活错误记录:

ini_set("log_errors", 1);
ini_set("error_log", "php-errors.log");

然而,您可以将验证错误返回给Slack,但这些错误必须采用特定格式。有关详细信息,请参阅this documentation