2017-10-16 5 views
0

PHP 5.6の場合 curl_setopt_arrayを使用して投稿データを送信しようとすると、送信されないデータが送信されます。私がしますcurl_setoptを使用していたときにでも、データが送信されPHP curl_setopt_arrayがポスト・ポスト・データを送信しない

1. POSTデータとカールのparams:

$feed = curl_init(); 
curl_setopt_array($feed, $options); 
$json = curl_exec($feed); 
curl_close($feed); 

var_dump($json); 

$url = "https://XXXXXXXXXXX/oauth/v2/accessToken"; 

$data = array(
    'grant_type' => 'authorization_code', 
    'code'=>$_REQUEST['code'], 
    'redirect_uri'=>$redirect_uri, 
    'client_id'=>$client_id, 
    'client_secret'=>$client_secret 
); 

$header = array('Content-Type: application/ x-www-form-urlencoded'); 

$options = array( 
    CURLOPT_HTTPHEADER => $header, 
    CURLOPT_POSTFIELDS => http_build_query($data), 
    CURLOPT_URL => $url, 
    CURLOPT_POST=>true, 
    CURLOPT_RETURNTRANSFER => true, 
    // CURLOPT_SSL_VERIFYPEER => false 
); 

2.hereは私の "curl_setopt_array" のコードです3.私の "curl_setopt"コードがあります

$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); 
$response = curl_exec($curl); 
curl_close($curl); 
$response = json_decode($response,true); 

var_dump($response); 

注: 私の知る限りでは、私は英語では良くありません。

OUTPUT:

ストリング(95) "{" エラー ":" INVALID_REQUEST " "ましたerror_description": " "CURL_SETOPT_ARRAY" コードの

必要なパラメータ\" CLIENT_IDの\" が」欠落しています}ますcurl_setopt」の

"" コード: JSONデコード後: アレイ(2){[ "access_tokenは"] =>列(179)、 "AQWXnJKB5enEyPcqY68ldCUyWayz2LsNXhp-9E-RBaEwGX8EyB5rIDL6YcZh6k_kPT9vJbo_xAQUCeu4hJjeqJTFmTjuFhI3rReHCF4xYBeqGdA7L5_HXSqmdk6oZXtcRSqvCunp2HYsaoLpnCUeFFeYIF5MchaRXl8P_OjXERC3J7XHDU0" [ "expires_in"] => INT( 5183999)}

+0

大文字または句読点を使っても、ほとんどの場合、精巧な英語の知識は必要ありません。 –

+0

あなたの 'var_dump'には何がありますか? "CURL_SETOPT_ARRAY"コードの –

+0

を表示してください: 文字列(95) "{"エラー ":" invalid_request "、" error_description ":"必須のパラメータ\ "client_id \"が見つかりません "}" CURL_SETOPT "コードの – Manoj

答えて

0

相互作用しているAPIがURLENCODEDデータの代わりにJSONを使用する可能性があります。http_build_queryjson_encodeに置き換えてください。 :)

+0

いいえ、私は働かないし兄弟..しかし私は間違いを見つけました。スラッシュとx-www-form-urlencodedの間にスペースがあります。 ** '(アプリケーション/ x-www-form-urlencoded)' **。 したがって、私はスペースを削除しました。それは ** '(アプリケーション/ x-www-form-urlencoded)**です。 今は問題なく動作しています。とにかくあなたの努力と返信をありがとう。 – Manoj

+0

あなたがそれを解決できるとうれしい –

関連する問題