До вчерашнего дня у меня был отлично работающий сайт/приложение организатора бюджета, работающее с iGoogle.Получение данных конвертации валют от Yahooapis теперь, когда iGoogle ушли
через PHP, используя следующую небольшую линию
file_get_contents('http://www.google.com/ig/calculator?hl=en&q=1usd=?eur');
и подобное я был в состоянии получить все, что нужно.
На сегодняшний день это больше не работает. Когда я рассмотрел этот вопрос, произошло то, что Google ушел в отставку iGoogle. Вот досада!
В любом случае, я искал в другом месте, но я не могу найти ничего, что бы соответствовало моим потребностям. Я бы ДЕЙСТВИТЕЛЬНО любил просто исправить это и снова запустить его, просто переключив одну строку кода (т. Е. Изменив адрес Google с адресом другого доступного API-интерфейса), но похоже, что никто этого не делает.
API от rate-exchange.appspot.com кажется, что он может быть аналогом iGoogle, но, увы, он никогда не работает. Я продолжаю получать сообщение «Over Quota».
(Здесь приходит первый вопрос: кто-нибудь там знают простого, надежного, iGoogle-сортировка API?)
Поэтому я предполагаю, что естественная вещь будет функция Yahoo YQL (по крайней мере, я полагаю, это является столь же надежным).
запросов Yahoo, выглядеть следующим образом:
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("USDEUR", "USDJPY", "USDBGN")&env=store://datatables.org/alltableswithkeys
То, что я действительно не могу понять, как анализировать эти данные. Он выводит XML.
То, что я имел обыкновение иметь это:
function exchange($inputAmount,$inputCurrency,$outputCurrency) {
$exchange = file_get_contents('http://www.google.com/ig/calculator?hl=en&q='.$inputAmount.$inputCurrency.'=?'.$outputCurrency);
$exchange = explode('"', $exchange);
$exchange = explode('.', $exchange['3']);
$exchange[0] = str_replace(" ", "",preg_replace('/\D/', '', $exchange[0]));
if(isset($exchange[1])){
$exchange[1] = str_replace(" ", "",preg_replace('/\D/', '', $exchange[1]));
$exchange = $exchange[0].".".$exchange[1];
} else{
$exchange = $exchange[0];
}
return $exchange;
}
Таким образом, пользователь был в состоянии получить курс от входной валюты, такие как «USD», и выходной валюты, такие как «евро» на конкретный количество денег. Как я уже сказал, это работало до вчерашней ночи.
Любые идеи?