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



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



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



EDIT



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

4930   10  

10 ответов:

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

Free currencyconverterapi:

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

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


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

  1. 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.

  2. (спасибо Кейо)Язык Запросов 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. 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 ...
      }
    }
    
  2. 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
          }
      }
    
  3. фиксаж.интерфейс программирования приложений (Европейский Центральный Банк данных)

    бесплатный план для 1000 ежемесячных хитов
    Изменение "источника" (от "USD") не допускается в бесплатном аккаунте Требовать регистрацию.

    эта конечная точка API устарела и перестанет работать с 1 июня 2018 года. Для получения дополнительной информации, пожалуйста, посетите: https://github.com/fixerAPI/fixer#readme)


    Сайт : http://fixer.io/
    Пример запроса : http://api.fixer.io/latest?base=USD
    Собирает только одно значение в день

  4. Европейский Центральный Банк Кормить

    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>
    
  5. запрос обменного курса 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

    Оригинал ответ 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-интерфейсы обмена с примерами на 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

    Ничего не найдено.