Google Finance와 같은 API를 통해 환율을 얻으려면 어떻게해야하나요? [닫은]


137

이제 Google Finance API를 찾아서 살펴보기 시작했지만 포트폴리오, 거래, 포지션 및 내가 모르는 기타 정보에 대한 많은 정보를 찾았습니다.

잘못된 문서를보고 있습니까? GF에서 환율 피드를 받으려면 어떻게해야합니까? 이것도 가능합니까?

편집하다

좀 더 명확하게하기 위해. 나는 기술적 인 것에 관심이없고 어떤 코드도 원하지 않는다.


Yahoo!를 사용하는 PHP 클래스는 stackoverflow.com/a/21627583/592868 을 참조하십시오. 금융
Felix Geenen

3
@George Stocker이 질문은 원래 AFAIK 이전에 폐기 된 바보 같은 Google API에 대해 매우 구체적이었습니다. 어떻게 든 사람들은 그 API에 대안을 추가하기 시작했고 환전 API에 대한 일종의 색인으로 변환했습니다. 분명히 커뮤니티는 많은 투표와 인기를 얻은 이후 유용하다고 생각합니다.
Bogdan

@Bogdan 내가 뭘 원하십니까?
George Stocker

4
@GeorgeStocker 음, SO 규칙에 위배된다고 생각되면 닫아 둘 수 있지만 삭제하지 마십시오. 사람들은 이것을 이런 종류의 물건에 대한 좋은 참조로 생각합니다. 내 2c.
Bogdan

@GeorgeStocker Google에서 통화 자바 스크립트 API로 1 위를 차지하며 매우 유용합니다. 이 항목은 많은 개발자에게 도움이되므로 업데이트 할 필요가 있습니다. 이것이 스택 오버플로가 만들어진 주요 이유입니다. 당신은 규칙의 서한에 맞았지만 스팸이나 의견이없는 답변을 찾을 수 없기 때문에이 주제를 닫는 것은 정신이 아닙니다. 다시 열도록 부탁드립니다.
Jan Derk

답변:


821

모든 답변에 감사드립니다.

무료 통화 변환기

  • 30 분마다 업데이트되는 요금
  • 이제 무료 서버에 API 키가 필요합니다.

샘플 전환 URL은 다음과 같습니다. http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y


후손을 위해 그들은 다른 가능한 대답과 함께 있습니다.

  1. 야후 금융 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는 [Curry] [1]이라는 jQuery 플러그인에서 사용되었습니다. Curry는 (2017-08-29) 이후 안정성 문제로 인해 fixer.io를 대신 사용했습니다. CSV 이상이 필요한 경우 유용 할 수 있습니다.

  1. ( 덕분에 Keyo에 ) 야후 쿼리 언어 는 XML 또는 JSON 한 번에 통화의 전체 무리를 얻을 수 있습니다. 데이터는 두 번째 (유럽 중앙 은행에 오래된 데이터가 있음)에 의해 업데이트되고 주말에 중지됩니다. 가입 할 필요가 없습니다.

[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]

여기는 YQL 쿼리 빌더, 검색어를 테스트하고 URL을 복사 할 수있는 위치 : (NO LONGER AVAILABLE)

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 회 발생)
무료 계정에서는 "기본"( "USD"에서)을 변경할 수 없습니다
. 등록이 필요합니다.
요청 : 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 회 적중 횟수에 대한 무료 계획
"소스"( "USD"에서) 변경은 무료 계정에서 허용되지 않습니다
. 등록이 필요합니다.
설명서 : 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. 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][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. ### exchangeratesapi.io ### 웹 사이트에 따르면 :

    환율 API는 유럽 중앙 은행이 발행 한 현재 및 과거 환율에 대한 무료 서비스입니다
    이 서비스는 fixer.io와 호환되며 API 키가 필요하지 않아 사용이 매우 쉽습니다. 예를 들어 CURL을 사용하지만 자주 사용하는 요청 도구를 사용할 수 있습니다.

    > curl https://api.exchangeratesapi.io/latest?base=GBP&symbols=USD
    {"base":"GBP","rates":{"USD":1.264494191},"date":"2019-05-29"}
    
  2. ### CurrencyApi.net ### 월별 1250 회의 히트에 대한 무료 계획
    기본 통화는 무료 계정에서 USD로 설정됩니다
    . 등록이 필요합니다.
    설명서 : currencyapi.net/documentation

    JSON 응답 :

    {
      "valid": true,
      "timestamp": 1567957373,
      "base": "USD",
      "rates": {
              "AED": 3.673042,
              "AFN": 77.529504,
              "ALL": 109.410403,
              // 165 currencies + some cryptos
          }
      }
    
  3. ### 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


6
다음은 Yahoo Finance API에 대한보다 유용한 설명 이있는 링크 입니다.
Miranda

4
Open Exchange Rates 프로젝트 데이터가 GitHub (현재 이용 가능한 데이터 없음)에서 옮겨졌으며 현재 openexchangerates.org 를 통해 제공되고 있습니다 . 감사합니다!
윌리엄 조스 크로우 크로프트

17
rate-exchange.appspot가 더 이상 작동하지 않습니다 ..
letitbefornow

18
rate-exchange.appspot.com/currency?from=USD&to=EUR 를 더 이상 사용할 수 없습니다 . 대신 rate-exchange-1.appspot.com/currency?from=USD&to=EUR 를 사용하십시오 .
Hippasus

5
업데이트 : 이제 야후는이 메시지와 API를 사용할 수It has come to our attention that this service is being used in violation of the Yahoo Terms of Service. As such, the service is being discontinued. For all future markets and equities data research, please refer to finance.yahoo.com.
ZenithS

66

ECB (European Central Bank)에는 내가 아는 가장 안정적인 무료 피드도 있습니다. 약 28 개의 통화가 포함되어 있으며 매일 업데이트됩니다.

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

더 많은 형식과 도구는 ECB 참조 페이지를 참조하십시오. http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html


3
너무 나쁜 fixer.io는 보증이 제공되지 않습니다. 생산 용이 아닙니다.
벤 싱클레어

2
불행히도 주말에는 업데이트되지 않습니다.
Denis

많은 외환 거래 시장은 금요일 오후 4 시부 터 일요일 오후 5 시까 지 문을 닫습니다. 더 정확한 주말 요금이 필요하다면 다른 스트림을 확인하겠습니다.
Ryan

1
@Ryan 그러나 왜 모든 통화가 표시되지 않습니까?
Sunil Targe 2016 년

4
Fixer.io 서비스는 슬프게도 더 이상 사용되지 않습니다. 에있는 다른 호환 교체 환율의 API가 exchangeratesapi.io
madisvain

53

안녕하세요 @Keyo, YQL 샘플을 시도 할 때 URL로 읽으려고 시도하는 Java 코드 내에서 제공 한 IO 예외가 발생합니다 (URL은 서버 응답 HTTP 응답 코드 : 400 : query.yahooapis.com/v1/public/ yql? q = select * from yahoo.finance.xchange 여기서이 URL
을지나

'public static void main (String [] args) {문자열 currencyPair = "USDEUR"; 문자열 주소 = " query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange 여기서 쌍은 (\" "+ currencyPair +"\ ") 및 env = store : //datatables.org/ alltableswithkeys "; try {// 문자열 응답 = URLReader.read (address); // System.out.println (응답); URL url = 새 URL (주소); BufferedReader in = new BufferedReader (새 InputStreamReader (url.openStream ())); } catch (Exception e) {// TODO 자동 생성 된 catch 블록 e.printStackTrace (); }} '
Malik Firose

안녕하세요 @Keyo, YQL에서 특정 시간 프레임에 대해 고 / 저 속도를 얻는 방법이 있습니까?
entpnomad

3
안타깝게도 야후는 어제 경고를받지 않고 수천 개의 사업체를 위험에 빠뜨렸다.
FlorianB

이 API는 영구적으로 사용 중지 된 것 같습니다.
활동 감소

47

한 통화를 다른 통화로 변환하기 위해 무료이며 간단한 API가 필요한 경우 free.currencyconverterapi.com을 사용해보십시오 .

면책 조항, 나는 웹 사이트의 저자이며 다른 웹 사이트 중 하나에 사용합니다.

이 서비스는 상용 응용 프로그램에서도 무료로 사용할 수 있지만 보증은 제공하지 않습니다. 성능상의 이유로 값은 1 시간마다 업데이트됩니다.

샘플 변환 URL은 http://free.currencyconverterapi.com/api/v6/convert?q=EUR_PHP&compact=ultra&apiKey=sample-api-key 이며 json 형식 값을 반환합니다 (예 : { "EUR_PHP": 60.849184}).


1
감사. 전환율의 원인은 무엇입니까? 이를 통해 서비스의 신뢰성을 측정 할 수 있습니다.
s3m3n

1
2017 년 11 월에 작동합니다. 제공해 주셔서 감사합니다. 그러나 사이트가 의존하기 때문에 계속 제공하십시오. 방금 죽은 Yahoo Finance를 사용하고있었습니다.
조정 가능

1
강한. 감사합니다 작성자
james Oduro

1
곧 프리미엄으로 업그레이드하겠습니다.
james Oduro

1
더 이상 무료가 아닙니다. 무료는 테스트 / 데모 용입니다. 더 많이 요청하면 400이 반환되고 오류가 발생합니다. "이 요청은 무료 서비스의 남용으로이 요청을 감지했습니다. 추가 요청이 필요한 경우 유료 서비스 사용을 고려하십시오. currencyconverterapi.com/pricing을 확인하십시오. 자세한 내용은 감사합니다. " 당신의 IP와 API 키를 차단합니다.
스위프트

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

?>

5
iGoogle을 사용하면이 옵션이 최선의 선택이며 이전 www.google.com/ig 옵션은 더 이상 작동하지 않습니다.
raphie

1
www.google.com/finance는 더 이상 작동하지 않습니다. 2017 년 9 월부터 재무 URL이 finance.google.com으로 변경되었습니다. : D bryanveloso.com/2017/09/14/…
jehzlau

2
Google이 finance.google.com으로 이동하여 나를 놀라게하고 컬 요청을 파기했습니다. curl에게 리디렉션을 따르도록 요청하려면 curl_setopt ($ curl, CURLOPT_FOLLOWLOCATION, true);
jaybong

1
그냥 시도 google.com/finance/converter?a=1&from=INR&to=USD이 일을하지 않았다, 대화 상자를 엽니 다.
Tuntable

4
www.google.com/finance/converter 및 finance.google.com/finance/converter는 더 이상 사용할 수 없습니다.
Christian

16

다음은 PHP 예제가 포함 된 교환 API입니다.

[ 공개 환율 API ]

매월 1,000 건의 요청을 무료로 제공합니다. 앱 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;
}

150 USD = 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 USD = 18036.75045 엔


14
할당량을 매우 쉽게 적중합니다. 권장하지 않습니다.
Ayush Goyal

7
@AyushGoyal 모든 전환에 대해 API를 실행하면 어쨌든 잘못된 것입니다. 매시간마다 API를 쿼리하고 현재 환율을 데이터베이스 테이블에 저장하고 교환 계산을 수행해야 할 때 원하는만큼 테이블에서 데이터를 가져 오도록 cronjob을 설정하십시오. 당신은 그런 식으로 월간 한도에 도달하지 않습니다.
tpartee 2016

1

당신은 geoplugin 을 시도 할 수 있습니다

IP가 수행 한 지리적 위치 (IP는 공급자 IP이므로 정확하지는 않음) 외에도 통화를 반환하고 통화 변환기가 있습니다 (예 참조).

그들은 111 통화가 업데이트되었습니다.


0

이 문제에 대한 루비 기반 솔루션을 찾고 있다면 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})"

2
iGoogle은 2013 년 11 월 1 일에 폐기되었습니다.이 API는 더 이상 작동하지 않습니다.
개혁


0

GBP와 USD 사이의 환율을 얻는 간단한 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/>'; 
?>

구글 환율은 정확하지 않습니다 구글 자체는 ==> 구글은 계산기가 사용하는 환율의 정확성을 보장 할 수 없습니다. 환율 변동에 영향을받을 수있는 거래를하기 전에 현재 환율을 확인해야합니다. Citibank NA가 제공 한 외화 환율은 라이센스하에 표시됩니다. 요금은 정보 목적으로 만 제공되며 사전 통지없이 변경 될 수 있습니다. 실제 거래 요금은 다를 수 있으며 Citibank는 표시된 요금으로 거래를 제안하지 않습니다.


3
iGoogle은 2013 년 11 월 1 일에 폐기되었습니다.이 API는 더 이상 작동하지 않습니다.
개혁

-1

통화 변환에 대한 힌트를 찾는 모든 초보자는이 링크를 살펴보십시오. Datavoila

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);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.