Я пытаюсь сделать 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
Есть идеи / предложения по коду?
Пожалуйста, добавьте ниже указанных строк перед curl_exec ()
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
Итак, я понял, у меня есть пробел в массиве заголовков в паре KeyValue.
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type : application/json', ..)
это должно было быть
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',