Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde.
Pessoal estou tendo problemas para consumir um api com PHP e Curl.
Tenho endereço da api de um software o qual preciso criar um formulário PHP e buscar esses dados.
Ex de URL: "http://ip-servidor:porta/api/produto/listar"
Com a URL, é fornecido o seguinte exemplo:
Objeto: Produto
GET /api/produto/listar
Parâmetros:
?produto=1&cor=16&$format=json
Meu código está assim:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "http://ip:porta/api/lista_departamento?cod_departamento=001&$format=json");
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result, true);
echo $result;
?>
Mais no resultado, retorna apenas o código do departamento, mais quando coloco a url no navegador me retorna todos os demais campos.
Retorno no navegador:
{"odata.metadata":"http:\/\/ip:porta\/api\/$metadata#site_join.SITE_JOIN_DEPARTAMENTOS_LISTA","odata.count":1,"value":[{"departamento":20,"cod_departamento":"001","descricao":"MASCULINO"}]}
Como faço para exibir não só o campo departamento e sim o cod_departamento e a descrição?
Obrigado.
@Williams Duarte, funcionou perfeitamente. Muito obrigado.
Como é a primeira vez que estou trabalhando com consumir API, como eu posso exibir formatado? Ou melhor como posso acessar o campo cod_departamento por exemplo, ou o campo descricao?
Segue meu código como ficou:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "http://ip:porta/api/lista_departamento?cod_departamento=001&$format=json");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8") );
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result, true);
echo $result;
?>
Muito obrigado.você tem que retorna para o usuário uma array para ele poder trabalhar
@Emerson.Oliveira obrigado pelo retorno.
pode me dar um exemplo de como ficaria por favor?
Obrigado.
>
38 minutos atrás, juninhogpe disse:
@Emerson.Oliveira obrigado pelo retorno.
pode me dar um exemplo de como ficaria por favor?
Obrigado.
<?php
$objeto = json_decode( file_get_contents( 'http://www.json-generator.com/api/json/get/cjEWqFyDdu?indent=2' ) );
echo $objeto->server->id;
?>
faz um teste dessa forma
acessa link para você ver como esta
http://www.json-generator.com/api/json/get/cjEWqFyDdu?indent=2
depois você faz teste como chamei uma array
echo $objeto->server->id;
dessa forma você pode trabalhar com qualquer array que você quiser e coloca na onde você quiser, como no seu formulário por exemplo
Informe o Header
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8") );