PHP Curl запрос с http аутентификацией и POST

У меня проблемы с попыткой запустить мой код. Я пытаюсь использовать cUrl с аутентификацией post и http, но не могу заставить его работать.

Я использую следующий код:

public function index(){
$call = $this->call("URL_TO_CALL", $this->getCredentials(), $this->getJson());
}

private function getCredentials(){
return "API_KEY_HERE";
}

private function getJson(){
return $json;
}

private function call($page, $credentials, $post){

$url = "URL_TO_CALL";
$page = "/shipments";
$headers = array(
"Content-type: application/vnd.shipment+json;charset=utf-8",
"Authorization: Basic :" . base64_encode($credentials)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

// Apply the POST to our curl call
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$data = curl_exec($ch);

if (curl_errno($ch)) {
print "Error: " . curl_error($ch);
} else {
// Show me the result
var_dump($data);
curl_close($ch);
}
}

Я получаю ответ:

{"errors":[{"code":3001}],"message":"Permission Denied. (insertShipment)"}

Я ожидал список поставок. Я делаю что-то явно не так здесь?

1

Решение

Глядя на свой код, вы указываете URL-адрес в переменной, а затем указываете точную страницу, однако, когда вы устанавливаете URL-адрес для локона, вы просто используете переменную URL-адреса, а не переменные URL + PAGE.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]