Я делаю запрос к API, используя его веб-сервис post.rest.Я построил запрос, используя Почтальон.Я получаю сообщение об ошибке: «Требуется параметр« запрос », и он должен иметь значение».Я пытался решить это в течение нескольких дней, и я нахожусь в своем уме.Я думал, что смогу решить это сам, но не увенчался успехом.Кажется, я пробовал по крайней мере сотню различных перестановок кода.
Вот мой PHP-код для запроса:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://SDMDataAccess.sc.egov.usda.gov/Tabular/post.rest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>
$data = array("query" => "SELECT l.areasymbol, l.areaname, l.lkey,
musym, muname, museq, mu.mukey
FROM sacatalog sac
INNER JOIN legend l ON l.areasymbol = sac.areasymbol
AND l.areatypename = 'Non-MLRA Soil Survey Area'
INNER JOIN mapunit mu ON mu.lkey = l.lkey
AND mu.mukey IN (455997)
", "FORMAT" => "JSON"),
CURLOPT_HTTPHEADER => array(
"Cache-Control: no-cache",
"Content-Type: application/json",
"Postman-Token: 520636bc-a062-4ab8-99e7-7edaae5118b4"
),
));
file_put_contents('soil_request.txt', $data);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Я не могу найти ни одного примера кодаза отправку запросов на отдых этой службе API в их документации или где-либо еще в Интернете, хотя их документация обширна.
Заранее благодарим вас за внимание к этому вопросу.Я действительно ценю это.