Bittrex API不返回所有值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bittrex API不返回所有值相关的知识,希望对你有一定的参考价值。

我试图整理一个简单的Google电子表格,用于从Bittrex API获取数据。我从一个从/ public / getticker获取字段的示例开始,该字段获取最后,最高和最低价格,并将其更改为来自/ public / getmarketsummary和/ public / getmarketsummaries(两者都尝试)的请求。它将检索最后的价格,但其他所有内容都被解析为未定义

Screenshot of spreadsheet

我不是程序员,如果我使用错误的单词或文本样式,请道歉。

这是脚本。

  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 的转换

在 VB.NET 中实现 bittrex API

text bittrex价格api

Bittrex Api:条件填充、Fill-Or-Kill 等。

onDetach()不要求从一个片段移动到另一个片段

如何将日期值从 JSON 返回到 Google Visualization API