【问题标题】:Can't create KuCoin order with Google App Scripts无法使用 Google App Scripts 创建 KuCoin 订单
【发布时间】:2021-06-13 12:45:56
【问题描述】:

我可以获得帐户详细信息,因此我的身份验证显示正确,但在尝试修改该代码以创建订单时,它返回代码 401 "msg":"Invalid KC-API-SIGN"。修改涉及添加方法和有效负载并将端点(/api/vi/accounts)更改为端点2(/api/v1/orders)

function kucoinTest5()
{

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("xxxxx");
  var key = sheet.getRange("xx").getValue()
  var secret = sheet.getRange("xx").getValue();
  var passphrase = sheet.getRange("xx").getValue();
    
  var host = 'https://openapi-sandbox.kucoin.com';
  //var endpoint ='/api/v1/accounts';
  var endpoint2 ='/api/v1/orders';

  var timestamp = ''+ new Date().getTime();
  var strForSign = timestamp + 'GET' + endpoint2;

  var signature = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_256, strForSign, secret);
  var encodedPass = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_256, passphrase, secret);

  var url= host + endpoint2
  var requestOptions = {

  'method': "POST",
  
  'headers': {
      'KC-API-KEY': key,
      'KC-API-TIMESTAMP': timestamp,
      'KC-API-SIGN': Utilities.base64Encode(signature),
      'KC-API-KEY-VERSION': '2',
      'KC-API-PASSPHRASE': Utilities.base64Encode(encodedPass),   
    },

  'payload': {
    'clientOid': 'test1',
    'side': 'buy',
    'symbol': 'BTC-USDT',
    'type': 'market',
    'tradeType': 'TRADE',
    'funds': 100
  },    
  

  muteHTTPExceptions: true,

};

var httpRequest= UrlFetchApp.fetch(url, requestOptions);
//var getContext= httpRequest.getContentText();
Logger.log(httpRequest);
}

【问题讨论】:

    标签: post kucoin


    【解决方案1】:

    解决上述问题的代码是在 KuCoin 上发布购买订单:

      function kuCoinTest5()
      {
    
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("xxxx");
      var key = sheet.getRange("xx").getValue()
      var secret = sheet.getRange("xx").getValue();
      var passphrase = sheet.getRange("xx").getValue();
    
      var payload = {
        'clientOid':"UUID",
        'side':"buy",
        'symbol':"BTC-USDT",
        'type':"market",
        'tradeType':"TRADE",
        'funds':"100"
      };
    
      var data = JSON.stringify(payload);
     //Logger.log(data);
    
      var host = 'https://openapi-sandbox.kucoin.com';
    
      var timeStamp = ''+ new Date().getTime();
      //var nowStr = "" + nowDate;
    
      var endpoint ='/api/v1/accounts';
      var endpoint2 ='/api/v1/orders';
    
      var strForSign = timeStamp + "POST" + endpoint2 + data;
      //Logger.log(strForSign);
    
    
      var signature = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_256, strForSign, secret);
      var encodedPass = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_256, passphrase, secret);
    
      var url= host + endpoint2;
     //Logger.log(url);  
    
    
    var options = {
    "method":"POST",
      
    'headers' : {
    'KC-API-KEY': key,
    'KC-API-TIMESTAMP': timeStamp,
    'KC-API-SIGN': Utilities.base64Encode(signature),
    'KC-API-KEY-VERSION': '2',
    'KC-API-PASSPHRASE': Utilities.base64Encode(encodedPass)
    
    },
    
    "contentType":"application/json",
    "payload":data,
    
    //'payload' : {'clientOid':"45234524625",
        //'side':"buy",
        //'symbol':"BTC-USDT",
        //'type':"market",
        //'tradeType':"TRADE",
        //'funds':"100"},
    
    
    "muteHttpExceptions":true,
    }
    
    
     var result = UrlFetchApp.getRequest(url, options);
            Logger.log(result) // a better way to debug
            var result = UrlFetchApp.fetch(url, options); // works perfectly in my case
            Logger.log(result)
    
    
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多