This repository has been archived by the owner on Apr 24, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 77
/
API_Bitstamp.js
68 lines (60 loc) · 2.16 KB
/
API_Bitstamp.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// I assume that key and secret API are in the "Config" spreadsheet. The key is in cell B30, the secret in cell B31 and customer_id in B32 cell
function Bitstamp() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Config");
var key = sheet.getRange("B30").getValue()
var secret = sheet.getRange("B31").getValue();
var customer_id = sheet.getRange("B32").getValue();
var nonce = new Date().getTime().toString();
message = nonce + customer_id + key
var shaObj = new jsSHA("SHA-256", "BYTES");
shaObj.setHMACKey(secret, "BYTES");
shaObj.update(message);
var signature = shaObj.getHMAC("HEX").toString().toUpperCase();
Logger.log(signature)
var url = "https://www.bitstamp.net/api/v2/balance/"
cb = "key=" + key + "&signature=" + signature + "&nonce=" + nonce;
var formData = {
"key": key,
"signature": signature,
"nonce": nonce
};
var options = {
"method": "post",
"muteHttpExceptions": true,
"payload": formData
};
var response = UrlFetchApp.fetch(url, options);
var data = JSON.parse(response.getContentText());
var array = [];
for (var x in data) {
substring = "_balance";
if (x.indexOf(substring) !== -1) {
var balance = parseFloat(data[x]);
if (balance > 0) {
data[x].replace(substring, "")
var asset = x
if (asset == "bch" + substring) {
asset = "BCH"
}
if (asset == "btc" + substring) {
asset = "BTC"
}
if (asset == "xrp" + substring) {
asset = "XRP"
}
if (asset == "ltc" + substring) {
asset = "LTC"
}
if (asset == "usd" + substring) {
asset = "USD"
}
if (asset == "eth" + substring) {
asset = "ETH"
}
array.push({'currency': asset, 'balance': balance, 'market': "Bitstamp"});
}
}
}
// Logger.log(array);
return array
}