Я пытаюсь получить доступ к данным Json из API. Проводите исследования онлайн, но не можете найти нужные ресурсы для руководства. Моя документация предлагает сделать следующее, но какой метод я должен использовать, чтобы вытащить эти данные с помощью PHP. Это то, что у меня есть до сих пор.Доступ к API с помощью PHP
<?php
$header = array();
$header[] = 'Content-type: application/json';
$header[] = 'Authorization: Basic '.base64_encode('MY_TOKEN_HERE');
$url = "https://.../v1/StoreServices.svc";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$response = curl_exec($ch);
//echo curl_error($ch);
if ($response === false){
echo "Failed";
throw new Exception(curl_error($ch), curl_errno($ch));
}
print_r($response);
?>
Я получаю сообщение об ошибке «Длина, необходимая HTTP-ошибка 411. Запрос должен быть фрагментирован или иметь длину содержимого». ошибка.
Я пробовал использовать curl_setopt ($ ch, CURLOPT_GET, 1); но затем он берет меня прямо к URL-адресу.
Я пробовал это с помощью GET, все еще получаю сообщение об ошибке или ошибку конечной точки.
https://.../v1/StoreServices.svc/Json/Items/
Любые предложения?
Документация предлагает использовать это для заголовков проверки подлинности:
var token = "MY_TOKEN_HERE"; $.ajax ({… beforeSend: function (xhr) { xhr.setRequestHeader("Authorization", "Basic " + btoa(token)); }, …);
И Пример вызова:
var itemurl = "https://.../Json/Items/";
var token = "<your token here>";
$.ajax({
type: "GET",
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa(token));
},
url: itemurl,
dataType: 'json',
async: false,
success: function(data, textStatus) { // your actions here }, error:
function (xhr, testStatus, errorThrown) { // } });
Действительно ли это настоящий URL? –
Нет, это не так. Это фиктивный URL. – thisisbolo