2017-12-31 123 views
0

Ich versuche, die folgenden REST-API innerhalb einer meiner Blätter zu verwenden, und ich kämpfen, um ein bestimmtes Ergebnis aus dem JSON-Array zurück (erstes hier Timer !!)Google Blätter API-Skript

Hier ist, was ich habe so weit ....

function Bittrex_API() { 

    // Call the Bittrex API for market rates 
    var response = UrlFetchApp.fetch(
     "https://bittrex.com/api/v1.1/public/getmarketsummaries"); 

    // Parse the JSON reply 
    var json = response.getContentText(); 
    var data = JSON.parse(json); 

    Logger.log(data); 
} 

Dies gibt den vollständigen Array in dem Logs, aber wie bekomme ich sie alle Informationen von einem bestimmten Ergebnis in dem Feld zu ziehen?

kann ich bestimmte Ergebnisse aus dem ersten Abschnitt zurückkehren, durch die Indexposition „0“ Aufruf wie folgt:

function Bittrex_API() { 

    // Call the Bittrex API for market rates 
    var response = UrlFetchApp.fetch(
     "https://bittrex.com/api/v1.1/public/getmarketsummaries"); 

    // Parse the JSON reply 
    var json = response.getContentText(); 
    var data = JSON.parse(json); 

    Logger.log(data["result"][0]); 
} 

Aber wie kann ich ohne mit der Indexnummer einen anderen Abschnitt des Arrays angeben ??

Ich möchte alle Informationen bezüglich MarketName=BTC-RCN zurückgeben.

Antwort

1

Es ist nichts falsch mit der Verwendung des Index Nunber. Welche Notation Sie verwenden, Sie müssen BTC-RCN finden. Sie können die Indexnummer durchlaufen, um sie zu finden. Dies wird es finden und die Ergebnisse an Sheet1 zurückgeben:

function Bittrex_API() { 

    // Call the Bittrex API for market rates 
    var response = UrlFetchApp.fetch(
    "https://bittrex.com/api/v1.1/public/getmarketsummaries"); 

    // Parse the JSON reply 
    var json = response.getContentText(); 
    var data = JSON.parse(json); 
    var lgt=data.result.length 
    for(i=0;i<lgt;i++){ 
    var test=data["result"][i]["MarketName"] 
     if(test=="BTC-RCN"){ 
     var num=i; 
     } 
    } 
var MarketName=data["result"][num]["MarketName"] 
var High=data["result"][num]["High"] 
var Low=data["result"][num]["Low"] 
var Volume=data["result"][num]["Volume"] 
var Last=data["result"][num]["Last"] 
var BaseVolume=data["result"][num]["BaseVolume"] 
var TimeStamp=data["result"][num]["TimeStamp"] 
var Bid=data["result"][num]["Bid"] 
var Ask=data["result"][num]["Ask"] 
var OpenBuyOrders=data["result"][num]["OpenBuyOrders"] 
var OpenSellOrders=data["result"][num]["OpenSellOrders"] 
var PrevDay=data["result"][num]["PrevDay"] 
var Created=data["result"][num]["Created"] 

var ss=SpreadsheetApp.getActiveSpreadsheet() 
var s=ss.getSheetByName("Sheet1") 
s.getRange("A1").setValue("MarketName") 
s.getRange("B1").setValue(MarketName) 
s.getRange("A2").setValue("High") 
s.getRange("B2").setValue(High) 
s.getRange("A3").setValue("Low") 
s.getRange("B3").setValue(Low) 
s.getRange("A4").setValue("Volume") 
s.getRange("B4").setValue(Volume) 
s.getRange("A5").setValue("Last") 
s.getRange("B5").setValue(Last) 
s.getRange("A6").setValue("BaseVolume") 
s.getRange("B6").setValue(BaseVolume) 
s.getRange("A7").setValue("TimeStamp") 
s.getRange("B7").setValue(TimeStamp) 
s.getRange("A8").setValue("Bid") 
s.getRange("B8").setValue(Bid) 
s.getRange("A9").setValue("Ask") 
s.getRange("B9").setValue(Ask) 
s.getRange("A10").setValue("OpenBuyOrders") 
s.getRange("B10").setValue(OpenBuyOrders) 
s.getRange("A11").setValue("OpenSellOrders") 
s.getRange("B11").setValue(OpenSellOrders) 
s.getRange("A12").setValue("PrevDay") 
s.getRange("B12").setValue(PrevDay) 
s.getRange("A13").setValue("Created") 
s.getRange("B13").setValue(Created) 
} 
Verwandte Themen