Yahoo Finance所有货币都引用API文档

时间:2011-02-24 17:42:56

标签: json api yahoo currency finance

我已经使用这个feed很长一段时间了,我相信Apple也可以在其中一个mac小部件中使用它。但真正令人好奇的是,我根本找不到任何文档,我已经尝试了google和所有内容。

http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote

我可以看到人们使用不同的参数,例如view=basic date=Ymd; currency=true但是可怕的是没有任何正式的参数。

目前我正在使用这些参数:

format=jsoncallback=list有时......

但对我来说这仍然是一个谜。有没有人知道它的真实情况,因为雅虎似乎试图将它隐藏在其他地方:)

6 个答案:

答案 0 :(得分:20)

根据我所做的研究,似乎没有任何可用于您正在使用的API的文档。根据您想要获得的数据,我建议使用Yahoo的YQL API访问Yahoo Finance (An example can be found here)。或者,您可以尝试使用这种记录良好的方式get CSV data from Yahoo Finance

修改

Yahoo developer forums进行了一些讨论,看起来没有文档(强调我的):

  

缺少文档的原因是我们没有财务API 。似乎有些人反向设计了一个用于提取财务数据的API,但他们违反了我们的服务条款(没有重新分配财务数据)这样做,所以我鼓励您避免使用这些网络服务。

与此同时,您列出的网址可以使用YQL console进行访问,但我不够精明,不知道如何使用它提取网址参数。

答案 1 :(得分:11)

|注意!!! |

| YAHOO暂停服务,解决方案不再有效。 |

从Yahoo获取可以从REST查询中解析的JSON或XML。

您可以使用YQL(Yahoo查询语言)从任何货币兑换任何货币,甚至可以获取查询的日期和时间。

https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fd%2Fquotes.csv%3Fe%3D.csv%26f%3Dnl1d1t1%26s%3Dusdeur%3DX%22%3B&format=json&callback=

这将带来如下例子:

{
 "query": {
  "count": 1,
  "created": "2016-02-12T07:07:30Z",
  "lang": "en-US",
  "results": {
   "row": {
    "col0": "USD/EUR",
    "col1": "0.8835",
    "col2": "2/12/2016",
    "col3": "7:07am"
   }
  }
 }
}

您可以尝试the console

我认为这不会破坏任何服务条款,因为它是100%的雅虎解决方案。

答案 2 :(得分:8)

这可能会有所帮助: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=EURUSD=X,GBPUSD=X 它将返回csv文件:

"EUR",1.2972
"GBP",1.6034

或者如果你需要json: Yahoo csv parser

答案 3 :(得分:5)

正如NT3RP告诉我们的那样:

  

...我们(Yahoo!)没有Finance API。似乎有些人反向设计了一个用于提取财务数据的API,但它们违反了我们的服务条款...

所以我只想和你分享这个网站:
http://josscrowcroft.github.com/open-exchange-rates/
[更新:网站已移至 - http://openexchangerates.org]

该网站说:

  

没有访问费,没有速率限制,没有丑陋的XML - 只是以JSON格式免费,按小时更新的汇率   
  [更新:免费供个人使用,为您的企业提供便宜货。]

我希望我能帮助你,这对你(以及其他人)也有用处。 :)

答案 4 :(得分:5)

我正在开发一个需要货币转换的应用程序,并且一直在使用开放汇率,因为我不会付款,因为应用程序正在测试中。但截至2012年9月,开放汇率将由非个人支付,因此我检查了他们使用的是Yahoo Finance Webservice(“不存在”的那个),并在此处查找文档,以及选择使用YQL。

将YQL与由NT3RP链接的Yahoo Finance表(yahoo.finance.quotes)一起使用,货币显示为symbol =“ISOCODE = X”,例如:“ARS = X”表示阿根廷比索,“AUD = X”表示澳元。 “USD = X”不存在,但它将是1,因为其余的是对美元的汇率。

OP API上的“price”值位于表的“LastTradePriceOnly”字段中。对于我的应用程序,我使用了“Ask”字段。

答案 5 :(得分:1)

我已使用此网址获取多种货币市场报价。

http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=USD=X,CAD=X,EUR=X

"USD",1.0000
"CAD",1.2458
"EUR",0.8396

它们可以用PHP解析:

$symbols = ['USD=X', 'CAD=X', 'EUR=X'];
$url = "http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=".join($symbols, ',');

$quote = array_map( 'str_getcsv', file($url) );

foreach ($quote as $key => $symb) {
    $symbol = $quote[$key][0];
    $value = $quote[$key][1];
}