137

现在,我确实找到了Google Finance API并开始查看它,但我发现了很多关于投资组合、交易、头寸和其他我一无所知的信息。

我在看错误的文档吗?我需要做什么才能从 GF 获取汇率信息?这甚至可能吗?

编辑

让事情更清楚一点。我对技术不感兴趣,也不想要任何代码。

4

9 回答 9

874

感谢您的所有回答。

免费货币转换器:

  • 价格每 30 分钟更新一次
  • 免费服务器现在需要 API 密钥。

示例转换 URL 为: http: //free.currencyconverterapi.com/api/v5/convert?q=EUR_USD &compact=y


对于后代,它们与其他可能的答案一起:

  1. 雅虎金融 API2017-11-06停产###

自 2017-11-06 起停产,并附有消息

我们注意到该服务的使用违反了雅虎服务条款。因此,该服务将被终止。有关所有未来市场和股票数据研究,请参阅 Finance.yahoo.com。

请求: http: //finance.yahoo.com/d/quotes.csv?e=.csv
&f=sl1d1t1&s=USDINR=X 这个 CSV 被一个名为Curry的 jQuery 插件使用。由于稳定性问题,Curry 自 (2017-08-29) 转而使用 fixer.io。如果您需要的不仅仅是 CSV,可能会很有用。

  1. 感谢 KeyoYahoo Query Language让您可以一次以 XML 或 JSON 格式获得一大堆货币。数据按秒更新(而欧洲中央银行有一天前的数据),并在周末停止。不需要任何形式的注册。

http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("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", "USDDISK")&env=store://datatables.org/alltableswithkeys

这里是YQL 查询生成器,您可以在其中测试查询并复制网址:(不再可用)

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

yql 控制台不再可用

  1. 开源汇率 API

免费供个人使用(每月 1000 次点击)
免费帐户中不允许更改“基础”(从“美元”)
需要注册。
请求: http: //openexchangerates.org/latest.json
响应:

   <!-- language: lang-js -->

    {
      "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 ...
      }
    }
  1. 货币层 API

每月 250 次点击的免费计划
在免费帐户中不允许更改“来源”(从“美元”)
需要注册。
文档:currencylayer.com/documentation

JSON 响应:

   <!-- language: lang-js -->

    {
      [...]
      "timestamp": 1436284516,
      "source": "USD",
      "quotes": {
          "USDAUD": 1.345352401,
          "USDCAD": 1.27373397,
          "USDCHF": 0.947845302,
          "USDEUR": 0.91313905,
          "USDGBP": 0.647603397,
          // 168 world currencies
          }
      }
  1. CurrencyFreaks API

免费计划(每月 1000 次点击)
免费帐户中不允许更改“基础”(从“美元”)
需要注册
数据每 60 秒更新一次。
全球 179 种货币,包括货币、金属和加密货币
支持(即使在免费计划中)Shell、Node.js、Java、Python、PHP、Ruby、JS、C#、C、Go、Swift。
文档:https

://currencyfreaks.com/documentation.html 端点:

$ curl 'https://api.currencyfreaks.com/latest?apikey=YOUR_APIKEY'

JSON响应:

{
    "date": "2020-10-08 12:29:00+00",
    "base": "USD",
    "rates": {
        "FJD": "2.139",
        "MXN": "21.36942",
        "STD": "21031.906016",
        "LVL": "0.656261",
        "SCR": "18.106031",
        "CDF": "1962.53482",
        "BBD": "2.0",
        "GTQ": "7.783265",
        "CLP": "793.0",
        "HNL": "24.625383",
        "UGX": "3704.50271",
        "ZAR": "16.577611",
        "TND": "2.762",
        "CUC": "1.000396",
        "BSD": "1.0",
        "SLL": "9809.999914",
        "SDG": 55.325,
        "IQD": "1194.293591",
          .
          .
          .
    [179 currencies]
    }
}
  1. Fixer.io API(欧洲中央银行数据)

每月 1,000 次点击的免费计划
在免费帐户中不允许更改“来源”(从“美元”) 需要注册。

此 API 端点已弃用,将于 2018 年 6 月 1 日停止工作。有关更多信息,请访问:https://github.com/fixerAPI/fixer#readme)


网站:http://fixer.io/
示例请求:[http://api.fixer.io/latest?base=USD][7]
每天只收集一个值
  1. 欧洲中央银行饲料

文档: http: //www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev
请求: http: //www.ecb.int/stats/eurofxref/eurofxref-daily.xml

XML 响应:

   <!-- language: lang-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>
  1. 交换器api.io

根据网站:

汇率 API 是欧洲中央银行公布的当前和历史外汇汇率的免费服务
该服务与 fixer.io 兼容,并且非常易于使用:无需 API 密钥- 更新:现在需要 API 密钥,免费套餐为 250 个请求/月。
例如(这里使用 CURL,但您可以使用您喜欢的请求工具):

    > curl https://api.exchangeratesapi.io/latest?base=GBP&symbols=USD&apikey=YOUR_KEY
    {"base":"GBP","rates":{"USD":1.264494191},"date":"2019-05-29"}
  1. CurrencyApi.net

每月 1250 次点击的免费计划
150 加密货币和实物货币 - 实时更新
基础货币在免费账户上设置为美元
需要注册。
文档:currencyapi.net/documentation

JSON 响应:

    {
      "valid": true,
      "updated": 1567957373,
      "base": "USD",
      "rates": {
              "AED": 3.673042,
              "AFN": 77.529504,
              "ALL": 109.410403,
              // 165 currencies + some cryptos
          }
      }
  1. 来自 LabStack 的货币

网站:https
://labstack.com/currency 文档:https
://labstack.com/docs/api/currency/convert 定价:https
://labstack.com/pricing 请求:https ://currency.labstack.com /api/v1/convert/1/USD/INR
响应:

```js
 {
   "time": "2019-10-09T21:15:00Z",
   "amount": 71.1488
 }
 ```

1 : http://query.yahooapis.com/v1/public/yql?q=select * from 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

  1. 货币API

  • 使用 CDN 的免费和超快响应
  • 没有速率限制
  • 150 多种货币,包括常见的加密货币
  • 每日更新

文档: 链接
请求:https
://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/eur/jpy.json 请求(后备):https ://cdn.jsdelivr.net/gh /fawazahmed0/currency-api@1/latest/currencies/eur/jpy.min.json
回复:

{
    "date": "2021-10-03",
    "jpy": 128.798673
}
于 2011-12-05T20:27:52.943 回答
79

欧洲中央银行 (ECB) 也有我所知道的最可靠的免费提要。它包含大约 28 种货币,并且至少每天更新一次。

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

有关更多格式和工具,请参阅欧洲央行参考页面: http: //www.ecb.int/stats/exchange/eurofxref/html/index.en.html

于 2011-08-23T17:37:42.133 回答
51

如果您需要一个免费且简单的 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}

于 2014-02-03T02:20:24.037 回答
16

以下是一些与 PHP 示例的交换 API。

[开放汇率API ]

每月免费提供 1,000 个请求。您必须注册并获取 App ID。免费账户的基础货币美元。检查支持的货币文档

// 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 美元 = 18039.09015 日元

[货币层 API ]

每月免费提供 1,000 个请求。您必须注册并获取访问密钥。免费账户支持自定义基础货币。检查文档

$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 美元 = 18036.75045 日元

于 2013-11-13T06:42:54.367 回答
1

你可以试试geoplugin

除了由 IP 完成的地理定位(但 IP 是提供商 IP,因此不太准确),它们还返回货币并具有货币转换器:参见示例。

他们更新了 111 种货币。

于 2014-01-23T12:24:20.590 回答
0

对于所有寻找有关货币转换的提示的新手,请查看此链接。达沃伊拉

它对我自己的 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);
于 2013-06-06T18:03:08.220 回答
0

如果您正在为这个问题寻找一个基于 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})"
于 2012-09-12T11:29:24.363 回答
0

这是一个简单的 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 提供的外币汇率显示在许可证下。价格仅供参考,如有更改,恕不另行通知。实际交易的费率可能会有所不同,花旗银行不提供以显示的任何费率进行任何交易。

于 2013-01-06T12:01:09.910 回答