【发布时间】:2022-12-08 03:33:49
【问题描述】:
我在将 curl 转换为 php 时遇到问题,我需要访问 json 中的数据并过滤这些数据。我能够在没有过滤器的情况下访问数据,但是当我添加过滤器时我无法访问它。
下面的代码是功能性的,并将所有数据带到 json 中......
`
<?php
$apikey = 'myapikey';
$outputType = 'json';
$url = 'https://bling.com.br/Api/v2/contasreceber/' . $outputType;
$retorno = executeGetOrder($url, $apikey);
echo $retorno;
function executeGetOrder($url, $apikey){
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url . '&apikey=' . $apikey);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($curl_handle);
curl_close($curl_handle);
return $response;
}
?>
`
这是我尝试运行以应用开发人员描述的过滤器的代码。
正如开发者的 api 手册中所述https://ajuda.bling.com.br/hc/pt-br/articles/360047064873-GET-contasreceber
如果有人能帮助我,我将不胜感激我的知识有限,我不知道我哪里出错了。
`
<?php
$apikey = 'myapikey';
$outputType = 'json';
$url = 'https://bling.com.br/Api/v2/contasreceber/' . $outputType;
$retorno = executeGetOrder($url, $apikey);
echo $retorno;
function executeGetOrder($url, $apikey){
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url . '&apikey=' . $apikey);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, 'filters=date[01/01/2022 TO 05/02/2022]; situacao[open]');
$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl_handle);
curl_close($curl_handle);
return $response;
}
?>
`
【问题讨论】:
-
也许问题在于您发送的是“POSTFIELDS”,但使用的是“GET”请求方法。