我正在尝试使用脚本从GDAX站点获取BTC-EUR代码到Google电子表格。我得到了这段代码,但它不起作用,总是返回错误:范围的坐标或尺寸无效。
var baseUrl = 'https://api.gdax.com';
var data = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("GDAX");
function ticker() {
var request = "/products/btc-eur/ticker";
var requestUrl = baseUrl + request;
var response = UrlFetchApp.fetch(requestUrl);
var json = JSON.parse(response.getContentText());
var rows = [],
jsondata;
for (i = 0; i < json.length; i++) {
jsondata = json[i];
rows.push([jsondata.price]);
}
dataRange = data.getRange(14, 1, rows.length, 1);
dataRange.setValues(rows);
}我使用相同的代码将我的余额推到电子表格中,它正在工作。我不明白为什么这件事会让我出错。如果我记录json,就会从站点获得正确的值。有人能帮忙吗?谢谢
发布于 2017-09-30 23:23:02
下面的修改怎么样?
修改要点:
来自https://api.gdax.com/products/btc-eur/ticker的JSON数据如下所示。在此数据中,price的值仅为一个。因此,当JSON数据总是这样时,您可以使用json.price直接检索值。
{
"trade_id": 4314549,
"price": "3691.06000000",
"size": "0.00004053",
"bid": "3691",
"ask": "3691.05",
"volume": "945.78845044",
"time": "2017-01-01T00:00:00.000000Z"
}当这反映到您的脚本时,修改后的脚本如下所示。
修改脚本:
function ticker() {
var baseUrl = 'https://api.gdax.com';
var data = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("GDAX");
var request = "/products/btc-eur/ticker";
var requestUrl = baseUrl + request;
var response = UrlFetchApp.fetch(requestUrl);
var json = JSON.parse(response.getContentText());
var rows = [[json.price]];
var dataRange = data.getRange(14, 1, 1, 1);
dataRange.setValue(rows);
}如果我误解了你的问题,我很抱歉。
https://stackoverflow.com/questions/46503635
复制相似问题