web-dev-qa-db-ja.com

Yahoo Finance All CurrenciesがAPIドキュメントを引用

私は長い間このフィードを使用していますが、AppleはMacウィジェットの1つでも同様に機能します。そのために、私はグーグルとすべてを試しました。

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

view=basicdate=Ymd;currency=trueのようなさまざまなパラメーターを使用している人々を見ることができますが、公式なものは何もありません。

今のところ、これらのパラメーターを使用しています。

format=jsonおよびcallback=list時々...

しかし、それはまだ私には謎です。 Yahooがどこかでそれを隠そうとしているように見えるので、誰もがそれについて本当の真実を知っていますか?

34
zanona

私が行った調査によると、使用しているAPIに関するドキュメントはありません。取得しようとしているデータに応じて、Yahoo FinanceにアクセスするためにYahooのYQL APIを使用することをお勧めします (例はここにあります) 。または、このよく文書化された方法で Yahoo FinanceからCSVデータを取得する を使用することもできます。

編集:

Yahoo開発者フォーラム でいくつかの議論がありましたが、ドキュメントがないように見えます(強調したもの):

ドキュメントがないのは、Finance APIがないためです。一部のユーザーは、Financeデータをプルするために使用するAPIをリバースエンジニアリングしたようですが、これを行う際に利用規約(Financeデータの再配布なし)に違反しているため、これらのWebサービスの使用を避けることをお勧めします。

同時に、リストしたURLは YQLコンソール を使用してアクセスできますが、URLパラメーターを抽出する方法を知るには十分ではありません。

22
NT3RP

|注意!!! |

| YAHOOがサービスを一時停止しました。ソリューションは無効になりました。 |

RESTクエリから解析できるJSONまたはXMLをYahooから取得します。

任意の通貨から任意の通貨に交換でき、YQL(Yahoo Query Language)を使用してクエリの日付と時刻を取得することもできます。

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"
   }
  }
 }
}

コンソール を試すことができます

これは100%yahooのソリューションであるため、これによりサービス期間が中断されることはないと思います。

13
FedeKrum

これは役立つかもしれません: 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

9
Sergey Dirin

私は通貨換算を必要とするアプリケーションを開発しています。OpenExchange Ratesを使用しているのは、アプリがテスト中であるため料金を支払わないからです。しかし、2012年9月の時点で、Open Exchange Ratesは非個人に対して支払われるので、彼らがYahoo Finance Webサービス(「存在しない」サービス)を使用し、それに関するドキュメントを探していることを確認しました。 YQLの使用を選択しました。

NT3RPによってリンクされたYahoo Financeテーブル(yahoo.finance.quotes)でYQLを使用すると、通貨はsymbol = "ISOCODE = X"で表示されます。たとえば、アルゼンチンペソの場合は "ARS = X"、オーストラリアドルの場合は "AUD = X"です。 「USD = X」は存在しませんが、残りはUSDに対するレートであるため、1になります。

OP APIの「価格」の値は、テーブルの「LastTradePriceOnly」フィールドにあります。私のアプリケーションでは、「Ask」フィールドを使用しました。

6
Einacio

NT3RPが私たちに言ったように:

...私たち(Yahoo!)にはFinance APIがありません。一部のユーザーは、財務データを取得するために使用するAPIをリバースエンジニアリングしましたが、利用規約に違反しています...

だから私はあなたとこのサイトを共有することを考えました:
http://josscrowcroft.github.com/open-exchange-rates/
[更新:サイトが- http://openexchangerates.org ]に移動しました

このサイトは言う:

アクセス料金なし、レート制限なし、XMLいXMLなし-JSON形式の無料で1時間ごとに更新される為替レート
[更新:個人使用の場合は無料、ビジネスの場合はお買い得。]

私が助けてくれたことを願っています。これはあなたにとっても(そして他の人にとっても)役に立つものです。 :)

5
zeFree

このURLを使用して、複数の通貨市場の見積もりを取得しました。

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];
}
1
Liam Hogan