如何通过Google财经等API获取货币汇率?

Bog*_*dan 137 api google-finance-api

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

我在查看错误的文档吗?我需要做些什么来从GF获得汇率?这甚至可能吗?

编辑

让事情变得更加清晰.我对技术方面不感兴趣,也不想要任何代码.

zeF*_*ree 795

谢谢你的所有答案.

免费currencyconverterapi:

  • 价格每30分钟更新一次
  • 无需帐户

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


对于后人来说,这里有其他可能的答案:

  1. 雅虎财务API 2017-11-06停产

    自2017-11-06起停止发布消息

    我们注意到此服务的使用违反了雅虎的服务条款.因此,该服务正在停止.有关所有未来市场和股票数据研究,请参阅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. (感谢Keyo)Yahoo Query Language让您可以使用XML或JSON一次性获得一大堆货币.数据更新由第二个(而欧洲中央银行有一天的数据),并在周末停止.不需要任何形式的注册.

    http://query.yahooapis.com/v1/public/yql?q=select*from yahoo.finance.xchange where in 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","USDISK")&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% 20英寸%20%28%22USDMXN%22%2C%20%22USDCHF%22%29

在此输入图像描述

  1. 开源汇率API

    免费供个人使用(每月1000次点击)
    免费账户中不允许更改"基数"(来自"美元")
    需要注册.
    请求: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 ...
      }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 货币层API

    每月1,000次点击的免费计划
    免费帐户中不允许更改"来源"(来自"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
          }
      }
    
    Run Code Online (Sandbox Code Playgroud)
  3. Fixer.io API(欧洲中央银行数据)

    每月1,000次点击的免费计划
    免费帐户中不允许更改"来源"(来自"USD")需要注册.

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


    网站:http ://fixer.io/
    示例请求: http ://api.fixer.io/latest
    base = USD每天只收集一个值

  4. 欧洲央行饲料

    文档: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>
    
    Run Code Online (Sandbox Code Playgroud)

  • http://rate-exchange.appspot.com/currency?from=USD&to=EUR不再可用,请改用http://rate-exchange-1.appspot.com/currency?from=USD&to=EUR. (18认同)
  • rate-exchange.appspot不再有效.. (17认同)
  • 这是一个[link](http://www.codereye.com/2009/03/java-currency-converter-using-yahoo.html),其中包含对Yahoo Finance API更有用的解释. (6认同)
  • 更新:现在雅虎用这个消息禁用了api.我们注意到这项服务的使用违反了雅虎的服务条款.因此,该服务正在停止.对于所有未来的市场和股票数据研究,请参阅finance.yahoo.com (5认同)
  • 请注意,开放汇率项目数据已从GitHub移除(现在没有数据),现在通过http://openexchangerates.org提供服务 - 谢谢! (4认同)
  • 可悲的是,雅虎昨天在没有发出警告的情况下终止了他们的服 (3认同)
  • 雅虎财务API是否可以免费用于商业用途?找不到任何证明它的信息. (2认同)
  • 我还想问雅虎!数据免费用于商业用途.假设我有一个电子商务网站,如果我使用Y中的汇率!转换价格,是合法的吗? (2认同)
  • 对于雅虎查询语言的商业用途,应该获得雅虎批准,请参阅https://developer.yahoo.com/yql/guide/usage_info_limits.html (2认同)

Rya*_*yan 64

欧洲中央银行(ECB)也拥有我所知道的最可靠的免费饲料.它包含大约28种货币,至少每天更新.

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

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

  • 修复了Fixer.io服务.在[exchangeratesapi.io](https://exchangeratesapi.io/)上有替代的兼容替代汇率API (4认同)
  • 太糟糕的fixer.io没有保修.不适合生产. (3认同)
  • 不幸的是,周末没有更新. (2认同)

Man*_*nny 42

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

  • 它不再免费了。免费仅供测试/演示使用。如果您请求更多,那么它将返回 400 并给出错误:“系统已检测到此请求是对免费服务的滥用。如果您需要更多请求,请考虑使用付费服务。请检查currencyconverterapi.com/pricing更多信息。谢谢。” 并阻止您的 ip 和 api-key。 (3认同)

小智 25

我从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);

?>
Run Code Online (Sandbox Code Playgroud)

  • 随着iGoogle的退出,这是最好的选择,以前的www.google.com/ig选项不再适用. (5认同)
  • www.google.com/finance/converter和finance.google.com/finance/converter不再可用. (4认同)
  • 谷歌转向finance.google.com绊倒了我,并打破了卷曲请求.要解决这个问题请求curl遵循重定向:curl_setopt($ curl,CURLOPT_FOLLOWLOCATION,true); (2认同)
  • 刚试过 http://www.google.com/finance/converter?a=1&amp;from=INR&amp;to=USD 没有用,打开对话框。 (2认同)

Mad*_*ota 15

以下是一些使用PHP示例的交换API.

[ 开放汇率API ]

每月免费提供1,000个请求.您必须注册并获取App ID.免费帐户的基础货币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;
}
Run Code Online (Sandbox Code Playgroud)

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';
}
Run Code Online (Sandbox Code Playgroud)

150美元= 18036.75045日元

  • 很容易达到配额......不推荐. (14认同)
  • @AyushGoyal如果您在每次转换时都使用API​​,那么无论如何您都会犯错.设置cronjob以每小时查询API并将当前的汇率存储在数据库表中,当您需要进行交换计算时,可以根据需要随时从表中提取数据.你永远不会达到每月限额. (7认同)