Как я могу получить курсы обмена валют через API, такие как Google Finance? [закрытый]
теперь, я нашел Google Finance API и начал просматривать это, но я нашел много информации о портфелях, сделках, позициях и других вещах, о которых я ничего не знаю.
Я смотрю на чужие документы? Что мне нужно сделать, чтобы получить поток обменных курсов от GF? Это вообще возможно?
EDIT
чтобы сделать вещи немного яснее. Я не интересуюсь техническими вещами и не хочу никакого кода.
10 ответов:
Спасибо за все ваши ответы.
Free currencyconverterapi:
- курсы обновляются каждые 30 мин
- учетная запись не требуется
пример преобразования URL:http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y
для потомков, вот они вместе с другими возможными вариантами ответов:
Yahoo finance 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) перешел на использование fixer.io вместо этого из-за проблем со стабильностью. Может быть полезно, если вам нужно больше, чем просто CSV.(спасибо Кейо)Язык Запросов Yahoo позволяет получить целую кучу валют сразу в XML или JSON. Обновления данных с помощью во-вторых (в то время как Европейский Центральный банк имеет дневные данные), и останавливается в выходные дни. Не требует какой-либо регистрации.
здесь
YQL query builder, где вы можете проверить запрос и скопировать url: (больше нет Доступно)
Open Source Exchange Rates 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 ... } }currencylayer API
Свободный План за 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 } }фиксаж.интерфейс программирования приложений (Европейский Центральный Банк данных)
бесплатный план для 1000 ежемесячных хитов
Изменение "источника" (от "USD") не допускается в бесплатном аккаунте Требовать регистрацию.эта конечная точка API устарела и перестанет работать с 1 июня 2018 года. Для получения дополнительной информации, пожалуйста, посетите: https://github.com/fixerAPI/fixer#readme)
Сайт : http://fixer.io/
Пример запроса : http://api.fixer.io/latest?base=USD
Собирает только одно значение в деньЕвропейский Центральный Банк Кормить
Docs: 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 (parsed)в настоящее время недоступно:запрос:http://rate-exchange.appspot.com/currency?from=USD&to=EUR
Ответ:{"to": "EUR", "rate": 0.76911244400000001, "from": "USD"}
Вот еще один JSON (P) API на основе Google API (источник: этот 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-интерфейсы обмена с примерами на PHP.
[ Open Exchange Rates 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 решение, подобное следующему: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., отображаются на основании лицензии. Цены указаны только в информационных целях и могут быть изменены без предварительного уведомления. Ставки по фактическим операциям могут отличаться и Ситибанк не предлагает заключать какие-либо сделки по любому показанному курсу.
для всех новичков, которые ищут подсказку о конвертации валют, взгляните на эту ссылку. 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);

Comments