Bittrex API不返回所有值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bittrex API不返回所有值相关的知识,希望对你有一定的参考价值。
我试图整理一个简单的Google电子表格,用于从Bittrex API获取数据。我从一个从/ public / getticker获取字段的示例开始,该字段获取最后,最高和最低价格,并将其更改为来自/ public / getmarketsummary和/ public / getmarketsummaries(两者都尝试)的请求。它将检索最后的价格,但其他所有内容都被解析为未定义
我不是程序员,如果我使用错误的单词或文本样式,请道歉。
这是脚本。
function updateBittrex()
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Cryptoassets");
var range = SpreadsheetApp.getActiveSheet().getActiveRange();
var numRows = range.getNumRows();
for (var i = 1; i <= numRows; i++)
var currencyPair = sheet.getRange(i+1,1).getValue();
var response = UrlFetchApp.fetch('https://bittrex.com/api/v1.1/public/getticker?market=' + currencyPair);
var bittrexData=JSON.parse(response.getContentText());
if (bittrexData.success = true)
sheet.getRange(i+1, 6).setValue("SUCCESS");
else
sheet.getRange(i+1, 6).setValue("FAIL");
sheet.getRange(i+1, 2).setValue(bittrexData.result.Last);
sheet.getRange(i+1, 3).setValue(bittrexData.result.High);
sheet.getRange(i+1, 4).setValue(bittrexData.result.Low);
sheet.getRange(i+1,5).setValue(bittrexData.result.Volume);
答案
以下修改怎么样?
修改要点:
- 为了检索“最后,最高和最低价格(和卷?)”,您可以使用
https://bittrex.com/api/v1.1/public/getmarketsummary
作为端点。 - 你想要的
result
是一个阵列。 - 在您的情况下,使用
setValues()
而不是setValue()
,脚本的效率会变高。
上面反映的修改后的脚本如下。
修改后的脚本
function updateBittrex()
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Cryptoassets");
var range = SpreadsheetApp.getActiveSheet().getActiveRange();
var numRows = range.getNumRows();
for (var i = 1; i <= numRows; i++)
var currencyPair = sheet.getRange(i+1,1).getValue();
var response = UrlFetchApp.fetch('https://bittrex.com/api/v1.1/public/getmarketsummary?market=' + currencyPair); // Modified
var bittrexData=JSON.parse(response.getContentText());
if (bittrexData.success = true)
sheet.getRange(i+1, 6).setValue("SUCCESS");
else
sheet.getRange(i+1, 6).setValue("FAIL");
sheet.getRange(i+1, 2, 1, 4).setValues( // Modified
[[
bittrexData.result[0].Last,
bittrexData.result[0].High,
bittrexData.result[0].Low,
bittrexData.result[0].Volume
]]
);
参考文献:
如果我误解了你的问题,请告诉我。我想修改。
以上是关于Bittrex API不返回所有值的主要内容,如果未能解决你的问题,请参考以下文章
Bittrex API 加密货币交易者:php 到 Java 的转换