2016-11-07 109 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表。