Итак, я нашел API Google Finance и начал его просматривать, но нашел много информации о портфелях, транзакциях, позициях и других вещах, о которых я ничего не знаю.
Я смотрю не те документы? Что мне нужно сделать, чтобы получить поток обменных курсов от GF? Это вообще возможно?
РЕДАКТИРОВАТЬ
Чтобы было немного понятнее. Меня не интересуют технические детали, и мне не нужен код.
api
google-finance-api
Богдан
источник
источник
Ответы:
Спасибо за все ваши ответы.
Бесплатная конвертация валюты:
Пример URL преобразования: http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y.
Для потомков здесь они вместе с другими возможными ответами:
Финансовый API YahooСнято с производства 06.11.2017 ###Снято с производства 06.11.2017 с сообщением
Запрос: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDINR=X
Этот CSV-файл использовался подключаемым модулем jQuery под названием Curry . Карри с тех пор (2017-08-29) перешел на fixer.io из-за проблем со стабильностью. Может быть полезно, если вам нужно больше, чем просто CSV.
http://query.yahooapis.com/v1/public/yql?q=select * из yahoo.finance.xchange, где пара в («USDEUR», «USDJPY», «USDBGN», «USDCZK», «USDDKK», «USDGBP», «USDHUF», «USDLTL», «USDLVL», «USDPLN», «USDRON», «USDSEK», «USDCHF», «USDNOK», «USDHRK», «USDRUB», «USDTRY», «USDAUD» »,« USDBRL »,« USDCAD »,« USDCNY »,« USDHKD »,« USDIDR »,« USDILS »,« USDINR »,« USDKRW »,« USDMXN »,« USDMYR »,« USDNZD »,« USDPHP », «USDSGD», «USDTHB», «USDZAR», «USDISK») & env = store: //datatables.org/alltableswithkeys
Здесь
Конструктор запросов YQL, где вы можете протестировать запрос и скопировать url: (БОЛЬШЕ НЕТ ДОСТУПНЫХ)http://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select%20*%20from%20yahoo.finance.xchange%20where%20pair% 20 дюймов% 20% 28% 22USDMXN% 22% 2C% 20% 22USDCHF% 22% 29API обменных курсов с открытым исходным кодом
Бесплатно для личного использования (1000 обращений в месяц).
Изменение "базы" (с "USD") не допускается в Бесплатной учетной записи
Требуется регистрация.
Запрос: http://openexchangerates.org/latest.json
Ответ:
currencylayer API
Бесплатный план на 250 посещений в месяц.
Изменение «источника» (с «долларов») в бесплатной учетной записи не допускается.
Требуется регистрация.
Документация: currencylayer.com/documentation
Ответ JSON:
CurrencyFreaks API
Бесплатный план (1000 обращений в месяц).
Изменение «Базы» (с «USD») в бесплатной учетной записи запрещено.
Требуется
обновление регистрационных данных каждые 60 секунд.
179 валют по всему миру, включая валюты, металлы и криптовалюты.
Поддержка (даже в бесплатном плане) Shell, Node.js, Java, Python, PHP, Ruby, JS, C #, C, Go, Swift.
Документация: https://currencyfreaks.com/documentation.html
Конечная точка:
Ответ JSON:
Fixer.io API (данные Европейского центрального банка)
Бесплатный план на 1000 обращений в месяц.
Изменение «источника» (с «USD») не допускается в бесплатной учетной записи. Требуется регистрация.
Эта конечная точка API устарела и перестанет работать 1 июня 2018 г. Для получения дополнительной информации посетите: https://github.com/fixerAPI/fixer#readme)
Веб-сайт: http://fixer.io/
Пример запроса: [http://api.fixer.io/latest?base=USD visible[7]
Собирает только одно значение в день
Лента Европейского центрального банка
Документы: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev
Запрос: http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
XML-ответ :
exchangeratesapi.io
По данным сайта:
Эта служба совместима с fixer.io и очень проста в использовании: ключ API не требуется. Например (здесь используется CURL, но вы можете использовать свой любимый инструмент запроса):CurrencyApi.net
Бесплатный план на 1250 ежемесячных обращений к
150 криптовалютам и физическим валютам - обновления в реальном времени.
Базовая валюта для бесплатного аккаунта установлена в долларах США.
Требуется регистрация.
Документация: currencyapi.net/documentation
Ответ JSON:
Валюта от LabStack
Веб-сайт: https://labstack.com/currency
Документация: https://labstack.com/docs/api/currency/convert
Ценообразование: https://labstack.com/pricing
Request: https://currency.labstack.com / api / v1 / convert / 1 / USD / INR
Ответ:
1 : http://query.yahooapis.com/v1/public/yql?q=select * из yahoo.finance.xchange, где пара в («USDEUR», «USDJPY», «USDBGN», «USDCZK», «USDDKK» »,« USDGBP »,« USDHUF »,« USDLTL »,« USDLVL »,« USDPLN »,« USDRON »,« USDSEK »,« USDCHF »,« USDNOK »,« USDHRK »,« USDRUB »,« USDTRY », «USDAUD», «USDBRL», «USDCAD», «USDCNY», «USDHKD», «USDIDR», «USDILS», «USDINR», «USDKRW», «USDMXN», «USDMYR», «USDNZD», «USDPHP» "," USDSGD "," USDTHB "," USDZAR "," USDISK ") & env = store: // datatables.org / alltableswithkeys
источник
It has come to our attention that this service is being used in violation of the Yahoo Terms of Service. As such, the service is being discontinued. For all future markets and equities data research, please refer to finance.yahoo.com.
Европейский центральный банк (ЕЦБ) также имеет самую надежную бесплатную рассылку, о которой я знаю. Он содержит около 28 валют и обновляется как минимум ежедневно.
http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
Дополнительные форматы и инструменты см. На справочной странице ECB: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html
источник
У Yahoo есть функция YQL, позволяющая получить сразу несколько валют в XML или JSON. Я заметил, что данные обновляются поминутно, когда у ЕЦБ есть данные суточной давности, и останавливаются на выходных.
http://query.yahooapis.com/v1/public/yql?q=select * из yahoo.finance.xchange, где пара в («USDEUR», «USDJPY», «USDBGN», «USDCZK», «USDDKK», «USDGBP», «USDHUF», «USDLTL», «USDLVL», «USDPLN», «USDRON», «USDSEK», «USDCHF», «USDNOK», «USDHRK», «USDRUB», «USDTRY», «USDAUD» »,« USDBRL »,« USDCAD »,« USDCNY »,« USDHKD »,« USDIDR »,« USDILS »,« USDINR »,« USDKRW »,« USDMXN »,« USDMYR »,« USDNZD »,« USDPHP », «USDSGD», «USDTHB», «USDZAR», «USDISK») & env = store: //datatables.org/alltableswithkeys
Вот их конструктор запросов, в котором вы можете протестировать запрос и скопировать URL:
http://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select%20*%20from%20yahoo.finance.xchange%20where%20pair% 20 дюймов% 20% 28% 22USDMXN% 22% 2C% 20% 22USDCHF% 22% 29
источник
Если вам нужен бесплатный и простой API для конвертации одной валюты в другую, попробуйте free.currencyconverterapi.com .
Заявление об отказе от ответственности, я являюсь автором веб-сайта и использую его для одного из своих других веб-сайтов.
Услуга бесплатна даже для коммерческих приложений, но не дает никаких гарантий. Из соображений производительности значения обновляются только каждый час.
Пример URL-адреса конверсии: http://free.currencyconverterapi.com/api/v6/convert?q=EUR_PHP&compact=ultra&apiKey=sample-api-key, который вернет значение в формате 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; }
[ Currency Layer 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'; }
источник
Вы можете попробовать геоплагин
Помимо геолокации, выполняемой по IP (но IP - это IP-адрес провайдера, поэтому не так точно), они также возвращают валюты и имеют конвертер валют: см. Примеры.
У них обновлено 111 валют.
источник
Если вы ищете решение этой проблемы на основе рубина, я рекомендую использовать метод 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, который устанавливает обменный курс между фунтами и долларами США.
<?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 NA, отображаются по лицензии. Тарифы предназначены только для информационных целей и могут быть изменены без предварительного уведомления. Ставки для фактических транзакций могут отличаться, и Ситибанк не предлагает совершать транзакции с любой отображаемой ставкой.
источник
Для всех новичков, которые ищут подсказку о конвертации валюты, взгляните на эту ссылку. Datavoila
Это очень помогло мне в моем собственном проекте на 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);
источник