Ir para conteúdo
biakelly

impressão de dados de uma api

Recommended Posts

Oi pessoal,

 

Estou com uma tarefa um pouco diferente do que estou acostumada, preciso pegar as informações de cotação desta api e imprimir na home de um site:

 

https://api.coinpaprika.com/v1/tickers/btc-bitcoin

 

Vocês sabem como pegar esses dados e apresentar na tela? Poderiam me ajudar? Pela consulta é impresso desta forma:

{"id":"btc-bitcoin","name":"Bitcoin","symbol":"BTC","rank":1,"circulating_supply":18513281,"total_supply":18513281,"max_supply":21000000,"beta_value":1.0099,"last_updated":"2020-10-10T17:00:49Z","quotes":{"USD":{"price":11346.72864008,"volume_24h":15303155526.715,"volume_24h_change_24h":-0.37,"market_cap":210065175744,"market_cap_change_24h":2.5,"percent_change_15m":-0.04,"percent_change_30m":-0.03,"percent_change_1h":-0.16,"percent_change_6h":0.08,"percent_change_12h":-0.54,"percent_change_24h":2.5,"percent_change_7d":7.13,"percent_change_30d":9.28,"percent_change_1y":36.19,"ath_price":20089,"ath_date":"2017-12-17T12:19:00Z","percent_from_price_ath":-43.52}}}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

As duas com PHP é:

 

Com curl ou file_get_contents

#curl

 

<?php

$url = 'https://api.coinpaprika.com/v1/tickers/btc-bitcoin';


//  Initiate curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_URL,$url);

$result=curl_exec($ch);

curl_close($ch);

var_dump(json_decode($result, true));

 

 

#file_get_contents

<?php

$url = 'https://api.coinpaprika.com/v1/tickers/btc-bitcoin';


$result = file_get_contents($url);
var_dump(json_decode($result, true));

 

Acessando

$result = json_decode($result, true);
echo $result['name'];



Mas se já conhece como funciona as promisses em javascrpit, tem as lib axios

https://github.com/axios/axios

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Williams, interessante ambas soluções, eu realmente não conhecia. Agora minha pergunta é a seguinte, consigo listar o resultado que esta dentro da ID, mas o resultado que aparece dentro de USD ele da erro, como você faz para pegar ambas variáveis e apresentar o preço pegando o exemplo desta api?

 

 

Ah, e muito obrigada por compartilhar conhecimento

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou fazendo assim mas ainda não saiu:

 

 

<?php
$url = 'https://api.coinpaprika.com/v1/tickers/btc-bitcoin ';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);
//var_dump(json_decode($result, true));
$result = json_decode($result, true);
$result_price = $result['USD']['price'];
?>

<?= number_format($result_price, 2, ',', '.') ?>

Gera erro "Trying to access array offset on value of type null in" nesta linha: 

$result_price = $result['USD']['price'];

 

Nunca me dou bem usando api's

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser que ja resolveu, mas tem um indice antes de USD

 

$result['quotes']['USD']['price']

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Giovanird
      Olá a todos!
      Tenho uma api  Sala de Aula e dentro dela o id de cada aluno. Em outra api, API ALUNO,  tenho os dados de cada aluno:  nome, foto, endereço.
      Estou fazendo o foreach da api Sala de Aula e preciso também retornar os dados de cada aluno.
      Segue o código que não estou conseguindo desenvolver
      $sala = file_get_contents("https://api/sala?id=987"); $sala = json_decode($sala, true); $sala = $sala['data']; foreach ($sala as $resulsala){ $codigoaluno = $resulsala['idaluno']; $alunos = file_get_contents("https://api/alunos?id=$codigoaluno"); $alunos = json_decode($alunos, true); $alunos = $alunos['data']; foreach ($alunos as $resulalunos){ echo $resulalunos['nome']; echo $resulalunos['foto']; echo $resulalunos['rua']; } }  
    • Por Orico Chain
      Oi pessoal,
       
      Preciso de ajuda, estou tentando gerar um TXT com dados de uma API mas não estou conseguindo:
       
      <?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://api.bololex.com/api/prices/TRX-USDT", CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "cache-control: no-cache" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); $response = json_decode($response, true); $value1 = $response['result'] [0] ['ask'] ['priceChange']; if (empty($value1)) { $value1 = is_file('/var/www/html/24tstar.txt') ? file_get_c> } else { $value1 = round($value1, 6); file_put_contents('/var/www/html/24tstar.txt', $value1); Preciso que o TXT grave duas informações: ASK e PRICECHANGE uma em baixo da outra
       
      estou errando alguem lugar, alguém poderia me ajudar?
    • Por Kelven
      Bom dia pessoal tudo bem?
      Então, estou trabalhando em um site em php e preciso usar a api do facebook para obter o feed do instagram, porém a chave token é um conteúdo muito sensível, então decidi fazer em php para ela não ficar disponível do lado do cliente. Alguém sabe me dizer se é possível fazer isso? Porque eu pesquisando no google só achei maneiras de fazer em javascript.
    • Por zuuzu
      Olá, estou desenvolvendo uma api para download de fotos/videos/gif, eu consegui fazer tudo certinho, mas na hora de gerar um link de download aleatório ele gera sempre o mesmo, só gera um link diferente se eu reiniciar o servidor, queria que gerasse um link diferente sempre que eu reiniciasse a página, sem precisar reiniciar o servidor. Tem como alguém me ajudar com isso? *A api está sendo desenvolvida para a automatização de download de fotos/videos/gif*

    • Por New Job
      Boa tarde, tenho um site de imobiliária e gostaria de integrar com este sistema.
       
      Documentação API: http://vistasoft.com.br/api/

      Seria para exibir os imóveis no site
      (54) 999350968 (whatsapp).
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.