Quote
// work in progress
// you need a poloniex API key and secret with trading option enabled
// you can test it with:
// = poloniex ("returnBalances","BTC")
// or
// = poloniex ("returnBalances")
function poloniex(command,parameter,subparam) {
// I assume that all the keys are in the "keys" spreadsheet. The key is in cell A1 and the secret in cell A2
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("keys");
var key = sheet.getRange("A1").getValue();
var secret = sheet.getRange("A2").getValue();
var nonce = 1495932972127042 + new Date().getTime();
var payload = {
"nonce": nonce,
"command": command
}
var payloadEncoded = Object.keys(payload).map(function(param) {
return encodeURIComponent(param) + '=' + encodeURIComponent(payload[param]);
}).join('&');
var uri = "https://poloniex.com/tradingApi";
var signature = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_512, payloadEncoded, secret);
var stringSignature = "";
for (i = 0; i < signature.length; i++) {
var byte = signature;
if (byte < 0)
byte += 256;
var byteStr = byte.toString(16);
if (byteStr.length == 1) byteStr = '0'+byteStr;
stringSignature += byteStr;
}
var headers = {
"key": key,
"sign": stringSignature
}
var params = {
"method": "post",
"headers": headers,
"payload": payloadEncoded
}
var response = UrlFetchApp.fetch(uri, params);
var dataAll = JSON.parse(response.getContentText());
//Edited
if (parameter === undefined) {
Logger.log(JSON.stringify(dataAll))
return JSON.stringify(dataAll) }
else if(parameter != undefined && subparam === undefined) {
return dataAll[parameter] }
else if (parameter != undefined && subparam != undefined) {
return dataAll[parameter][subparam] }
//end edited
}
// you need a poloniex API key and secret with trading option enabled
// you can test it with:
// = poloniex ("returnBalances","BTC")
// or
// = poloniex ("returnBalances")
function poloniex(command,parameter,subparam) {
// I assume that all the keys are in the "keys" spreadsheet. The key is in cell A1 and the secret in cell A2
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("keys");
var key = sheet.getRange("A1").getValue();
var secret = sheet.getRange("A2").getValue();
var nonce = 1495932972127042 + new Date().getTime();
var payload = {
"nonce": nonce,
"command": command
}
var payloadEncoded = Object.keys(payload).map(function(param) {
return encodeURIComponent(param) + '=' + encodeURIComponent(payload[param]);
}).join('&');
var uri = "https://poloniex.com/tradingApi";
var signature = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_512, payloadEncoded, secret);
var stringSignature = "";
for (i = 0; i < signature.length; i++) {
var byte = signature;
if (byte < 0)
byte += 256;
var byteStr = byte.toString(16);
if (byteStr.length == 1) byteStr = '0'+byteStr;
stringSignature += byteStr;
}
var headers = {
"key": key,
"sign": stringSignature
}
var params = {
"method": "post",
"headers": headers,
"payload": payloadEncoded
}
var response = UrlFetchApp.fetch(uri, params);
var dataAll = JSON.parse(response.getContentText());
//Edited
if (parameter === undefined) {
Logger.log(JSON.stringify(dataAll))
return JSON.stringify(dataAll) }
else if(parameter != undefined && subparam === undefined) {
return dataAll[parameter] }
else if (parameter != undefined && subparam != undefined) {
return dataAll[parameter][subparam] }
//end edited
}