Я новичок в получении данных с помощью API-интерфейсов, и мне нужно получить данные некоторых конкретных столбцов из ряда доступных столбцов. Я могу получить все данные с помощью API, но мне интересно, как получить определенные столбцы. Ниже мой код:
<?php
$url = 'myurl';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"username\": \"test\", \"password\": \"test\"}",
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"cache-control: no-cache",
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
$request = curl_init();
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($request, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($request, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($request, CURLOPT_HEADER, FALSE);
$result = curl_exec($request);
curl_close($request);
if ($result) {
$data = new SimpleXMLElement($result);
foreach ($data->Item as $entry) {
echo "XML Activity Name: " . $entry->ActivityName . "<br>";
}
} else {
exit();
}
?>
Это полностью зависит от API от того, что вы получаете данные, единственное, что вам нужно сделать, это получить с правильного URL-адреса, и API ответит с результатом, который должен быть получен, когда этот URL является целевым. В противном случае вы все равно получите тот же результат со всеми данными, если вы нацеливаетесь на неправильный URL-адрес.
Мой вопрос в том, что если в API есть, скажем, 100 столбцов, то как я могу получить 2 из 100, и я не думаю, что руководство подойдет, потому что мне нужно получать данные для каждого сеанса, чтобы пользователи могли видеть свои данные. Приведенный выше код дает все результаты, представленные в API.






Вы не можете, если их API не позволяет это, поэтому отфильтруйте его вручную.