Google Spreadsheets UrlFetchApp.fetch在获取数据时遇到问题

时间:2014-01-14 15:10:28

标签: google-apps-script google-spreadsheet-api

我正在尝试使用此处http://www.gummy-stuff.org/Yahoo-data.htm中的方法从雅虎获取库存数据,并且在任何库存网址上使用UrlFetchApp.fetch时,它大多数时间都失败了。请注意,如果我通过浏览器导航到相同的网址,则相同的网址可以正常工作。

代码,

var resp = UrlFetchApp.fetch("http://finance.yahoo.com/d/quotes.csv?s=" + securityName + "&f=sl1d1t1c1ohgv&e=.csv");

其中securityName是AAPL或MSFT等股票代码。通常错误是地址不可用。当我通过浏览器导航到它时,它总是有效。

2 个答案:

答案 0 :(得分:1)

该错误与yahoo网站相关联。 我通过javascript进行了测试并遇到了同样的问题。 如果您想测试访问download.finance.yahoo.com并通过F12打开chrome控制台并将代码放在下面:

function test() {
    for(var x = 0; x < 100; x++) {
        var req = new XMLHttpRequest();
        req.open("GET", "http://download.finance.yahoo.com/d/quotes.csv?s=AAPL&f=sl1d1t1c1ohgv&e=.csv", false);
        req.send();
        if(req.status != 200) {
            console.log("ERROR"); return;
        }else {
            console.log("OK");
        }
    }

}

test();

在我的示例中检查它工作了8次(8 OK)但在第9次尝试失败了。 enter image description here

答案 1 :(得分:0)

我使用相同的脚本几个月,错误已经开始出现最近,似乎雅虎!把事搞砸了。