0

PHP Curl Call を作成しようとしています。呼び出しは POSTMAN で機能し、次のようになります。

URL Endpoint: https://api.sb.example.com/v1/resource/identifier

Headers: 
Content Type: application/json
Authorization : Bearer AccessTokenValue

HTTP Protocol : GET

この呼び出しにより、有効な JSON 応答が返されます。PHPを使用して同じことをすると、応答が得られません。これが私のPHP Curl呼び出しです:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sb.example.com/v1/resource/identifier");
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type : application/json',
                                            'Authorization : Bearer AccessTokenValue'
));

$data = curl_exec($ch);
print_r($data);
curl_close($ch);

PHP 経由でこの呼び出しを行うと、次のエラーが表示されます。

HTTP/1.1 401 Unauthorized
Server: Apache-Coyote/1.1

コードのアイデア/提案はありますか?

4

2 に答える 2

0

それで、KeyValueペアのヘッダー配列にスペースがあったことがわかりました。

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type : application/json', ..)

だったはずです

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
于 2014-10-09T10:01:58.607 に答える
0

curl_exec() の前に以下の行を追加してください

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);                                         
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
于 2014-10-09T09:47:54.750 に答える