问题转换curl到php,我不能解决它

rqenqsqc  于 2022-12-10  发布在  PHP
关注(0)|答案(2)|浏览(141)

我在把curl转换成php时遇到了问题,我需要访问json中的数据并过滤这些数据。没有过滤器的情况下我可以访问这些数据,但添加过滤器后我就不能访问了。
下面的代码是功能性的,它将json中的所有数据...
`

<?php
$apikey = 'my api key';
$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](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=dataEmissao[01/01/2022 TO 05/02/2022]; situacao[Aberto]');

    $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;
    
}
?>

`

thtygnil

thtygnil1#

当我查看您的文档时,date不存在。
您只能将以下内容作为筛选器:

  • 数据发送o * ;
  • 数据保护 * ;
  • 情景;
  • 中国人民解放军;
  • 数据页 *;

我输入的*是带日期输入的过滤器,因此您需要根据自己的需要:

curl_setopt($curl_handle, CURLOPT_POSTFIELDS, 'filters=dataEmissao[01/01/2022 TO 05/02/2022]; situacao[open]');
20jt8wwn

20jt8wwn2#

发出get请求时的备选项。

<?php
$apikey = 'my api key';
$outputType = 'json';
$filters ="cnpj[21.416.959/0001-82]";
$url = 'https://bling.com.br/Api/v2/contasreceber/' . $outputType;
$retorno = executeGetOrder($url, $apikey, $filters); 
echo $retorno;

function executeGetOrder($url, $apikey, $filters){ 
   return file_get_contents( $url.'&apikey=' . $apikey . '&filters=' . $filters`);        
}
?>

相关问题