Как получить курсы обмена валют через API, такие как Google Finance? [закрытый]

теперь, я нашел Google финансы API и начал просматривать это, но я нашел много информации о портфелях, транзакциях, позициях и других вещах, о которых я ничего не знаю.

Я смотрю на чужие документы? Что мне нужно сделать, чтобы получить поток обменных курсов от GF? Это вообще возможно?

редактировать

чтобы сделать вещи немного яснее. Меня не интересуют технические вещи, и я не хочу никакого кода.

10 ответов


Спасибо за все ваши ответы.

бесплатный currencyconverterapi:

  • тарифы обновляются каждые 30 минут
  • не требуется учетная запись

пример URL преобразования:http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y


для потомства здесь они вместе с другими возможными ответами:

  1. финансы 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.

  2. ( благодаря Keyo) Язык Запросов Yahoo позволяет получить целую кучу валют сразу в XML или JSON. Обновления данных во-вторых (в то время как Европейский Центральный банк имеет данные за день), и останавливается в выходные дни. Не требует никакой регистрации.

    http://query.yahooapis.com/v1/public/yql?q=select * от yahoo.финансы.плюс ко всему, где пары ("пары евро-доллар", "иена", "USDBGN", "и usdczk", "и usddkk", "USDGBP", "USDHUF", "USDLTL", "USDLVL", "и usdpln", "USDRON", "USDSEK", "пара", "и usdnok", "USDHRK", "инструментам USDRUB", "лире", "USDAUD", "USDBRL", "американец", "USDCNY", "и usdhkd", "USDIDR", "USDILS", "ДОЛЛАР / РУПИЯ", "USDKRW", "и USDMXN", "USDMYR", "USDNZD", "USDPHP", "и usdsgd", "USDTHB", "знак", "USDISK")&Пер=магазин://объекты DataTable.орг/alltableswithkeys

    здесь YQL query builder, где вы можете проверить запрос и скопировать url: (больше нет Доступно)

    http://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20%28%22USDMXN%22%2C%20%22USDCHF%22%29

enter image description here

  1. 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 ...
      }
    }
    
  2. 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
          }
      }
    
  3. фиксаж.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
    Собирает только одно значение в день

  4. Европейский Центральный Банк 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>
    
  5. запрос обменного курса 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

    Оригинал ответ by Райна.


Европейский Центральный банк (ЕЦБ) также имеет самый надежный бесплатный канал, который я знаю. Он содержит приблизительно 28 валют и обновляется по крайней мере ежедневно.

http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

дополнительные форматы и инструменты см. На справочной странице ЕЦБ: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html



Если вам нужен бесплатный и простой 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);