Как получить курсы обмена валют через API, такие как Google Finance? [закрытый]
теперь, я нашел Google финансы API и начал просматривать это, но я нашел много информации о портфелях, транзакциях, позициях и других вещах, о которых я ничего не знаю.
Я смотрю на чужие документы? Что мне нужно сделать, чтобы получить поток обменных курсов от GF? Это вообще возможно?
редактировать
чтобы сделать вещи немного яснее. Меня не интересуют технические вещи, и я не хочу никакого кода.
10 ответов
Спасибо за все ваши ответы.
бесплатный currencyconverterapi:
- тарифы обновляются каждые 30 минут
- не требуется учетная запись
пример URL преобразования:http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y
для потомства здесь они вместе с другими возможными ответами:
-
финансы Yahoo В APIпрекращено 2017-11-06прекращено с 2017-11-06 с сообщением
Он приходил к нашему вниманию что эта услуга используется внутри нарушение условий предоставления услуг Yahoo. Таким образом, сервис находится прекращенный. Для всех будущих рынков и ценных научных данных , пожалуйста, обратитесь к finance.yahoo.com.
запрос: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDINR=X
Этот CSV использовался плагином jQuery под названием Карри. Карри с (2017-08-29) в фиксаж.Ио, а не из-за проблем стабильности. Может быть полезно, если вам нужно больше, чем просто CSV. -
( благодаря Keyo) Язык Запросов Yahoo позволяет получить целую кучу валют сразу в XML или JSON. Обновления данных во-вторых (в то время как Европейский Центральный банк имеет данные за день), и останавливается в выходные дни. Не требует никакой регистрации.
здесь
YQL query builder, где вы можете проверить запрос и скопировать url: (больше нет Доступно)
-
API обменных курсов с открытым исходным кодом
бесплатно для личного пользования (1000 просмотров в месяц)
Изменение "база "(от" USD") не допускается в бесплатном аккаунте
Требовать регистрацию.
Запрос: http://openexchangerates.org/latest.json
Ответ:{ "disclaimer": "This data is collected from various providers ...", "license": "all code open-source under GPL v3 ...", "timestamp": 1323115901, "base": "USD", "rates": { "AED": 3.66999725, "ALL": 102.09382091, "ANG": 1.78992886, // 115 more currency rates here ... } }
-
API для currencylayer
Свободный План за 1000 просмотров ежемесячно
Изменение "source" (от "USD") не допускается в бесплатном аккаунте
Требовать регистрацию.
Документация: currencylayer.com/documentation
Ответ JSON:{ [...] "timestamp": 1436284516, "source": "USD", "quotes": { "USDAUD": 1.345352401, "USDCAD": 1.27373397, "USDCHF": 0.947845302, "USDEUR": 0.91313905, "USDGBP": 0.647603397, // 168 world currencies } }
-
фиксаж.IO API (данные Европейского центрального банка)
бесплатный план для 1,000 ежемесячных хитов
Изменение "source" (от "USD") не допускается в бесплатном аккаунте Требовать регистрацию.эта конечная точка API устарела и перестанет работать с 1 июня 2018 года. Для получения дополнительной информации посетите: https://github.com/fixerAPI/fixer#readme)
Сайт : http://fixer.io/
Пример запроса : http://api.fixer.io/latest?base=USD
Собирает только одно значение в день -
Европейский Центральный Банк Feed
документы: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev
Запрос: http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
Ответ XML:<Cube> <Cube time="2015-07-07"> <Cube currency="USD" rate="1.0931"/> <Cube currency="JPY" rate="133.88"/> <Cube currency="BGN" rate="1.9558"/> <Cube currency="CZK" rate="27.100"/> </Cube>
-
запрос обменного курса Google (проанализирован)в настоящее время недоступно:запрос:http://rate-exchange.appspot.com/currency?from=USD&to=EUR
Ответ:{"to": "EUR", "rate": 0.76911244400000001, "from": "USD"}
Вот еще один JSON (P) API на основе API Google (источник:этот comment):
http://rate-exchange.appspot.com/currency?from=USD&to=EUR&q=1
Европейский Центральный банк (ЕЦБ) также имеет самый надежный бесплатный канал, который я знаю. Он содержит приблизительно 28 валют и обновляется по крайней мере ежедневно.
http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
дополнительные форматы и инструменты см. На справочной странице ЕЦБ: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html
Yahoo имеет функцию YQL, чтобы получить целую кучу валют сразу в XML или JSON. Я заметил, что данные обновляются с каждой минутой, когда ЕЦБ имеет данные за день, и останавливается в выходные.
вот их-построитель запросов, где вы можете протестировать запрос и скопировать URL-адрес:
Если вам нужен бесплатный и простой API для конвертации одной валюты в другую, попробуйтеfree.currencyconverterapi.com.
отказ, Я автор этого сайта и я использую его для одного из моих других сайтах.
обслуживание свободно использовать даже для коммерческих применений но не предлагает никакую гарантию. По соображениям производительности значения обновляются только каждый час.
пример URL преобразования: http://free.currencyconverterapi.com/api/v5/convert?q=EUR_PHP&compact=ultra который вернет значение в формате json, например {"EUR_PHP":60.849184}
Я получил этот контент от http://www.scriptarticle.com/2012/05/03/get-live-currency-rates-and-currency-conversion-using-php-and-apis/
<?php
function get_currency($from_Currency, $to_Currency, $amount) {
$amount = urlencode($amount);
$from_Currency = urlencode($from_Currency);
$to_Currency = urlencode($to_Currency);
$url = "http://www.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency";
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$rawdata = curl_exec($ch);
curl_close($ch);
$data = explode('bld>', $rawdata);
$data = explode($to_Currency, $data[1]);
return round($data[0], 2);
}
// Call the function to get the currency converted
echo get_currency('USD', 'INR', 1);
?>
вот некоторые API exchange с примером PHP.
[ открыть API обменных курсов ]
содержит 1000 запросов в месяц бесплатно. Вы должны зарегистрироваться и захватить идентификатор приложения. Базовая валюта USD для бесплатного счета. Проверьте Поддерживаемые валюты и документация.
// open exchange URL // valid app_id * REQUIRED *
$exchange_url = 'https://openexchangerates.org/api/latest.json';
$params = array(
'app_id' => 'YOUR_APP_ID'
);
// make cURL request // parse JSON
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $exchange_url . '?' . http_build_query($params),
CURLOPT_RETURNTRANSFER => true
));
$response = json_decode(curl_exec($curl));
curl_close($curl);
if (!empty($response->rates)) {
// convert 150 USD to JPY ( Japanese Yen )
echo $response->rates->JPY * 150;
}
150 USD = 18039.09015 JPY
[ API валютного уровня ]
обеспечивает 1000 запросов в месяц бесплатно. Вы должны зарегистрироваться и захватить ключ доступа. Пользовательская базовая валюта не поддерживается в бесплатной учетной записи. Проверьте документация.
$exchange_url = 'http://apilayer.net/api/live';
$params = array(
'access_key' => 'YOUR_ACCESS_KEY',
'source' => 'USD',
'currencies' => 'JPY',
'format' => 1 // 1 = JSON
);
// make cURL request // parse JSON
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $exchange_url . '?' . http_build_query($params),
CURLOPT_RETURNTRANSFER => true
));
$response = json_decode(curl_exec($curl));
curl_close($curl);
if (!empty($response->quotes)) {
// convert 150 USD to JPY ( Japanese Yen )
echo '150 USD = ' . $response->quotes->USDJPY * 150 . ' JPY';
}
150 USD = 18036.75045 JPY
вы можете попробовать geoplugin
помимо геолокации, выполняемой IP (но IP является IP-провайдером, поэтому не так точен), они также возвращают валюты и имеют конвертер валют: см. примеры.
Они обновили 111 валют.
Если вы ищете решение на основе ruby для этой проблемы, я рекомендую использовать метод Google Calculator решение, подобное следующему:http://j.mp/QIC564
require 'faraday'
require 'faraday_middleware'
require 'json'
# Debug:
# require "pry"
country_code_src = "USD"
country_code_dst = "INR"
connection = Faraday.get("http://www.google.com/ig/calculator?hl=en&q=1#{country_code_src}=?#{country_code_dst}")
currency_comparison_hash = eval connection.body #Google's output is not JSON, it's a hash
dst_currency_value, *dst_currency_text = *currency_comparison_hash[:rhs].split(' ')
dst_currency_value = dst_currency_value.to_f
dst_currency_text = dst_currency_text.join(' ')
puts "#{country_code_dst} -> #{dst_currency_value} (#{dst_currency_text} to 1 #{country_code_src})"
вот один простой PHP скрипт, который получает обменный курс между GBP и USD
<?php
$amount = urlencode("1");
$from_GBP0 = urlencode("GBP");
$to_usd= urlencode("USD");
$Dallor = "hl=en&q=$amount$from_GBP0%3D%3F$to_usd";
$US_Rate = file_get_contents("http://google.com/ig/calculator?".$Dallor);
$US_data = explode('"', $US_Rate);
$US_data = explode(' ', $US_data['3']);
$var_USD = $US_data['0'];
echo $to_usd;
echo $var_USD;
echo '<br/>';
?>
курсы валют Google не являются точными сам google говорит = = > Google не может гарантировать точность обменных курсов, используемых калькулятором. Необходимо подтвердить текущие курсы, прежде чем совершать транзакции, на которые могут повлиять изменения обменных курсов. Курсы иностранных валют, предоставляемые Citibank N. A., отображаются по лицензии. Тарифы предназначены только для информационных целей и могут быть изменены без предварительного уведомления. Ставки по фактическим операциям могут варьироваться, и Citibank не предлагает заключать какие-либо сделки по любому показанному курсу.
для всех новичков, ищущих подсказку о конвертации валюты, посмотрите на эту ссылку. Datavoila
это помогло med много относительно моего собственного проекта в C#. На всякий случай, если сайт исчезнет, я добавлю код ниже. Просто добавьте следующие шаги в свой собственный проект. Извините за форматирование.
const string fromCurrency = "USD";
const string toCurrency = "EUR";
const double amount = 49.95;
// For other currency symbols see http://finance.yahoo.com/currency-converter/
// Clear the output editor //optional use, AFAIK
Output.Clear();
// Construct URL to query the Yahoo! Finance API
const string urlPattern = "http://finance.yahoo.com/d/quotes.csv?s={0}{1}=X&f=l1";
string url = String.Format(urlPattern, fromCurrency, toCurrency);
// Get response as string
string response = new WebClient().DownloadString(url);
// Convert string to number
double exchangeRate =
double.Parse(response, System.Globalization.CultureInfo.InvariantCulture);
// Output the result
Output.Text = String.Format("{0} {1} = {2} {3}",
amount, fromCurrency,
amount * exchangeRate, toCurrency);