emmtte / list

Google Sheets automatic creation with Google Apps Script (GAS) for managing a cryptocurrency tracking spreadsheet with multi exchanges

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Updated Bitfinex API

badgerpawz opened this issue · comments

Added two coins that were missing from the the Bitfinex API, similar issue to the previous one with Bitfinex using their own naming conventions - posting here as you might want to update the master :)

`// API_Bitfinex.js V1.0
// I assume that key and secret API are in the "Config" spreadsheet. The key is in cell B26 and the secret in cell B27

function Bitfinex () {
function bytesToHex(data) {
return data.map(function(e) {
var v = (e < 0 ? e + 256 : e).toString(16);
return v.length == 1 ? "0" + v : v;
}).join("");
}
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Config");
const apiKey = sheet.getRange("B26").getValue();
const apiSecret = sheet.getRange("B27").getValue();
const apiPath = "v2/auth/r/wallets";
const nonce = Date.now().toString();
const body = { "type": "price" };
const rawBody = JSON.stringify(body);
var signature = "/api/" + apiPath + nonce + rawBody;
signature = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_384, signature, apiSecret);
signature = bytesToHex(signature);
const url = "https://api.bitfinex.com/" + apiPath;
const options = {
method: 'POST',
contentType: "application/json",
headers: {
'bfx-nonce': nonce,
'bfx-apikey': apiKey,
'bfx-signature': signature
},
payload: rawBody
};
var response = UrlFetchApp.fetch(url, options);
var data = JSON.parse(response.getContentText());
var array = [];
for(var x in data){ balance=parseFloat(data[x][2]);
if (balance > 0) {
asset=data[x][1]
if (asset=="IOT") {asset="MIOTA"}
if (asset=="QSH") {asset="QASH"}
if (asset=="DAT") {asset="DATA"}
if (asset=="SPK") {asset="SPANK"}
if (asset=="MNA") {asset="MANA"}
array.push({'currency': asset, 'balance': balance, 'market': "Bitfinex"})}
}

return array;
}`

updated, thanks for your contribution