Pobieranie danych konwersji walut z Yahooapis teraz, gdy iGoogle zniknęło
Do wczoraj miałem doskonale działającą organizator budżetu stronę / aplikację współpracującą z iGoogle.
Przez PHP, używając następującej małej linii
file_get_contents('http://www.google.com/ig/calculator?hl=en&q=1usd=?eur');
i podobnie byłem w stanie uzyskać wszystko, czego potrzebowałem.
Na dzień dzisiejszy to już nie działa. Kiedy zajrzałem do tego problemu, zdarzyło się, że Google wycofał się z iGoogle. Bummer!
W każdym razie rozglądałem się gdzie indziej, ale nie mogę znaleźć niczego, co pasowałoby do moich potrzeb. NAPRAWDĘ uwielbiałbym to naprawić i uruchomić ponownie, zmieniając tylko jeden wiersz kodu (tj. Zmieniając adres Google na inny dostępny interfejs API), ale wygląda na to, że żaden z nich nie działa.
Interfejs API z rate-exchange.appspot.com wydaje się być analogiem iGoogle, ale niestety nigdy nie działa. Ciągle otrzymuję komunikat „Over Quota”.
(Oto pierwsze pytanie: każdy, kto zna prosty, niezawodny interfejs API iGoogle-sort?)
Domyślam się więc, że naturalną cechą Yahoo YQL (przynajmniej przypuszczam, że jest równie niezawodna).
Zapytania Yahoo wyglądają tak:
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("USDEUR", "USDJPY", "USDBGN")&env=store://datatables.org/alltableswithkeys
Naprawdę nie mogę się dowiedzieć, jak analizować te dane. Wyprowadza XML.
To, co kiedyś miałem, to:
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;
}
Użytkownik był więc w stanie uzyskać kurs wymiany z waluty wejściowej, takiej jak „USD” i waluta wyjściowa, np. „EUR”, na określoną kwotę pieniędzy. Jak powiedziałem, działało to do wczorajszej nocy.
Jakieś pomysły?