2017-04-11 2 views
1

Yahoo API가 필요합니다.이 API는 내가 통과 한 국가의 모든 국가의 환율을 반환합니다.야후 API를 사용하여 환율을 얻는 방법, 각 메이저 & 십자가를 지루하게 나열하지 않고도?

예를 들어, 미국 달러를 기준으로 전달하면 야후 API가 다른 모든 국가의 환율을 반환해야합니다. 나는이 API에서 내가 야후 API

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", "USDISK" 
         )&env=store://datatables.org/alltableswithkeys 

다음 찾을 구글에서 검색 한

나는 각 국가의 하나의 통화 쌍 하나를 작성해야합니다.

나는 하나씩 통화 쌍을 쓰고 싶지 않습니다.

나는 다른 나라의 모든 환율을 미화로 환불하고 싶습니다.

내 요구 사항에 맞는 Yahoo API Querystring을 보내주십시오.

+0

[Google Finance와 같은 API를 통해 환율을 얻는 방법은 무엇입니까?] (http://stackoverflow.com/q/3139879/10263) –

답변

0

가장 간단한 방법은 사전 어셈블 된 목록을 반환하는 정적 변환기를 준비하는 것입니다.이 변환기는 Yahoo API 쿼리를 반환 (사용자에게 보냄)합니다.

일반의 모형 예입니다 :이 방법은 Y에 의존

bool anErrorFLAG = False; 
... 
string aQuerySTRING = sendMeTheYahooApiQuerySTRING("DKK", anErrorFLAG); 
assert(!anErrorFLAG); 
... 

: 나중에 사용할 수 있도록 설계

string sendMeTheYahooApiQuerySTRING( const string aCurrency1 = "USD", 
              bool &ErrorFLAG = True 
            ){ 
     switch(aCurrency1){ 
     case "USD": ErrorFLAG = False; return("https://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", "USDISK")&env=store://datatables.org/alltableswithkeys"); 
     case "GBP": ErrorFLAG = False; return("https://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("GBPEUR", "GBPJPY", "GBPBGN", "GBPCZK", "GBPDKK", "USDGBP", ... )&env=store://datatables.org/alltableswithkeys"); 
     case "JPY": ErrorFLAG = False; return("https://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("GBPJPY", "JPYBGN", ... )&env=store://datatables.org/alltableswithkeys"); 
     case ... : ErrorFLAG = False; return(...); 
     case default:     return(""); 
     } 

!

또 다른 방법은 Y를 다시 사용하는 직접 액세스 반복기 세트를 작성하는 것입니다. Y를 사용하지 않고 각 통화 쌍에 대해 단일 csv 레코드를 반환하는 직접 액세스 쿼리 구문 일반적인 컨테이너에 결과 측 응집 다음 Y없이

"GBPJPY=X","GBP/JPY",146.7220 

: 같이 간단한 데이터 retuns

http://download.finance.yahoo.com/d/quotes.csv?s=GBPJPY=X&f=snl1 

! 개별 환율의 측면 재 포장.