2016-11-07 133 views
0

我有以下代碼從雅虎財經API得到一些數據:處理雅虎財經API HTTP錯誤

JSONObject data; 
String q = "select * from yahoo.finance.quote where symbol in (\"TSLA\",\"NFLX\")"; 

void setup(){ 
    data = loadJSONObject("https://query.yahooapis.com/v1/public/yql?" + q); 
    println(data); 
} 

但是當我運行這段代碼我得到以下錯誤:

https://query.yahooapis.com/v1/public/yql?select *從yahoo.finance.quote凡符號(「TSLA」,「NFLX」)不存在或無法讀取

這是否意味着此API已貶值?或者我有一個錯誤的網址?有人可以幫助我嗎?雅虎開發者網站是非常不清楚:(

預先感謝您!!!!

回答

0

在你的代碼的網址看看:

https://query.yahooapis.com/v1/public/yql?select%20*%20from%20yahoo.finance.quote%20where%20symbol%20in%20(%22TSLA%22,%22NFLX%22) 

當我訪問的是,我得到這個錯誤:

<error xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:lang="en-US"> 
<description>You must specify a yql statement (q=) to execute</description> 
</error> 

這告訴我,你需要的YQL語句前q= 所以我添加:

https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quote%20where%20symbol%20in%20(%22TSLA%22,%22NFLX%22 

當我訪問這個URL,我得到這個錯誤:

<error xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:lang="en-US"> 
<description>No definition found for Table yahoo.finance.quote</description> 
</error> 

我GOOGLE了這個錯誤,並發現了不少資源,包括這一個:YQL - No definition found for Table

根據這個問題的答案,有是一些額外的設置你必須做的訪問yahoo.finance.quote表。