O Google finance converter parou de funcionar ou alterou o seu url? [fechado]
4 answers
Encontrei um trabalho em torno deste url está a funcionar: https://finance.google.co.uk/bctzjpnsun/converter
Poderá ver as páginas antigas inserindo este 'bctzjpnsun' no url. Por exemplo, vista de carteira com questões no layout: https://finance.google.co.uk/bctzjpnsun/portfolio?action=view&pid=1&pview=sview
Infelizmente, estão a removê-lo para fazer um novo layout elegante. www.google.com/finance sem gestão de carteiras recurso. É óbvio que muitos se queixam, mas isso não ajudou quando disseram que o Google Reader acabaria com milhões de leitores, o que significa que você deve planejar uma alternativa.Editar: eles deveriam ter comunicado mais sobre isso. A maioria das funcionalidades são facilmente replicáveis nas folhas de cálculo do google usando a função =GOOGLEFINANCE
.
Para adicionar à resposta acima, pode confirmar que funciona se mudar a url para .co.uk
https://finance.google.co.uk/finance/converter?a=1&from=USD&to=EUR
A pesquisa seria algo como https://www.google.com.ar/search?q=1+usd+a+ars e você estaria pegando o resultado da tag DIV correspondente...
Editar: Neste caso específico, o o código-fonte mostra
<div class="vk_gy vk_sh">1 U.S. dollar =</div><div class="vk_ans vk_bk">20.2675314 Argentine pesos</div>
Ambas as API respondem no formato JSON, por isso é muito fácil analisar os dados de resposta.
Mais informação aqui:
Taxas De Câmbio Abertas https://openexchangerates.org/
Fixer.io https://fixer.io/
Como converter moedas utilizando um plano livre?
Em planos livres, ambos os API dão-lhe acesso apenas à lista de taxas de câmbio. Não é possível usar Pontos finais de câmbio, então para ser capaz de converter moedas, você precisa aplicar esta fórmula, toCurrency * (1 / fromCurrency)
Usando taxas de câmbio abertas e PHP:
$url = 'https://openexchangerates.org/api/latest.json?app_id=YOUR_APP_ID';
$useragent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0';
$rawdata = '';
if (function_exists('curl_exec')) {
$conn = curl_init($url);
curl_setopt($conn, CURLOPT_USERAGENT, $useragent);
curl_setopt($conn, CURLOPT_FRESH_CONNECT, true);
curl_setopt($conn, CURLOPT_RETURNTRANSFER, true);
$rawdata = curl_exec($conn);
curl_close($conn);
} else {
$options = array('http' => array('user_agent' => $useragent));
$context = stream_context_create($options);
if (function_exists('file_get_contents')) {
$rawdata = file_get_contents($url, false, $context);
} else if (function_exists('fopen') && function_exists('stream_get_contents')) {
$handle = fopen($url, "r", false, $context);
if ($handle) {
$rawdata = stream_get_contents($handle);
fclose($handle);
}
}
}
if ($rawdata) {
$rawdata = json_decode($rawdata);
$convertedCurrency = false;
$convertedCurrency = $rawdata->rates->$currB * (1 / $rawdata->rates->$currA);
}