2017-05-30 10 views
1

私はGetResponseと統合するために使用するCURLコードを持っています。なんらかの理由で、エラーはまったくありませんが、リクエストが空でない(PostmanとのこのURLへのPOSTはうまく動作します)。私は何が欠けていますか?私は一晩中解決策を見つけることができませんでした。JSON CURLをスラックに正しく送信するには?

<?php 
ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 

function slackReporting($data) 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 'https://hooks.slack.com/services/XXXX/XXXX/XXXXXX'); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

    curl_exec($ch); 
} 

$slackReporting_data = array(
    'text' => "`New Lead` `+34 today`.", 
    'username' => "Leads", 
    'mrkdwn' => true 
); 

$slackReporting_res = json_decode(slackReporting($slackReporting_data)); 

$slackReporting_error = ""; 
if(empty($slackReporting_res->error)){ 
    echo "OK"; 
} else { 
    $slackReporting_error = $slackReporting_res->error->message; 
} 
echo $slackReporting_error; 
?> 

いつもOKです。あなたは何を取得されていませんので、以下のように$slackReporting_res .doという内部の機能から何かを返すdin'tので

答えて

1

: -

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

function slackReporting($data) 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 'https://hooks.slack.com/services/XXXX/XXXX/XXXXXX'); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

    $content = curl_exec($ch); 
    if(curl_errno($ch)){ 
     echo 'Request Error:' . curl_error($ch);exit; 
    } 
    curl_close($ch); 
    return $content; 
} 
$slackReporting_data = array(
    'text' => "`New Lead` `+34 today`.", 
    'username' => "Leads", 
    'mrkdwn' => true 
); 
$slackReporting_res = json_decode(slackReporting($slackReporting_data)); 

var_dump ($slackReporting_res); //check output and work accordingly 
?> 

をそして今、オペアンプのがエラーを持って、このリンクを介して解決(コメント内のOPで述べました) : - ここに

PHP - SSL certificate error: unable to get local issuer certificate

+0

あなたの例では、私は 'NULL'を取得します。 – Ricardo

+0

'警告:curl_errno():2は、16行目の有効なcURLハンドルリソースではありません。'私は今混乱しています。 – Ricardo

+0

恐ろしい! SSLの「リクエストエラー:SSL証明書の問題:ローカル発行者証明書を取得できません」というエラーが表示され、この投稿の助けを借りて修正しました:https://stackoverflow.com/questions/28858351/php-ssl -certificate-error-get-local-issuer-certificates- – Ricardo

0

curl

でたるみを使用する方法の簡単な例であります

スニペットから取られたhere

関連する問題