All
Filtrera efter:
Hur gör jag en kontantinsättning till mitt konto?
Jag behöver hjälp med kontoverifiering
Varför kan jag inte komma åt mitt konto?
Finns det några avgifter för kryptoutttag?
Jag behöver hjälp med att logga in på mitt konto
Våra offentliga REST API-slutpunkter är tillgängliga via en enkel HTTP-förfrågan (precis som en webbsida begärs via en webbläsare), så en API-klient för att importera marknadsdata till ett Google Sheet kan implementeras med bara några rader Google Script-kod.
Skapa ett nytt Google Sheet eller öppna ett befintligt ark.
Öppna skriptredigeraren via menyn Tillägg -> Apps Script.
Ta bort standardkoden som visas (till exempel Markera allt och sedan Ta bort/Backsteg).
Kopiera/klistra in Google Script API-koden (visas nedan) i skriptredigeraren.
Valfritt – Lägg till ytterligare anpassade funktioner som du behöver (till exempel för att anropa olika slutpunkter eller returnera olika JSON-fält).
Spara Google Script-koden via ikonen (Spara projekt).

Funktionen KAPI_Public() ansvarar för att skapa den lämpliga URL:en och göra HTTP-förfrågan till API:et. Funktionen KAPI_Public() kan anropas direkt genom att ange följande (eller liknande beroende på slutpunkten och parametrarna) i en Google Sheet-cell:
Bash
=KAPI_Ticker("XBTUSD,ETHEUR,LTCUSD,XDGXBT,XDGUSD")
=KAPI_Depth("XDGUSD", "5")Funktionen KAPI_Public() returnerar det ursprungliga JSON-svaret från API:et, till exempel följande för exemplet med Depth-slutpunkten ovan:
Bash
{"error":[],"result":{"XETHZUSD":{"asks":[["231.74000","4.386",1583402326],["231.75000","27.337",1583402277],["231.76000","5.887",1583402311],["231.79000","36.280",1583402334],["231.80000","50.000",1583402299]],"bids":[["231.70000","18.534",1583402335],["231.67000","22.109",1583402335],["231.61000","7.930",1583402335],["231.60000","33.841",1583402335],["231.54000","115.017",1583402334]]}}}För att placera de enskilda fälten/värdena i separata celler i Google Sheet kan ytterligare anpassade funktioner anropas för att tolka JSON-svaret, till exempel funktionerna KAPI_Ticker() och KAPI_Depth():
Bash
=KAPI_Ticker("XBTUSD,ETHEUR,LTCUSD,XDGXBT,XDGUSD")
=KAPI_Depth("XDGUSD", "5")vilket skulle visa resultaten liknande följande, där data skulle vara tillgänglig för alla standardfunktioner i Google Sheets (SUM, AVERAGE, COUNT, etc.):

Allmän funktion som ska inkluderas för anrop till alla offentliga slutpunkter:
Bash
function KAPI_Public(endpoint, parameters) {
http_response = UrlFetchApp.fetch(
'https://api.kraken.com/0/public/' + endpoint + '?' + parameters
)
api_data = http_response.getContentText()
return api_data
}Exempel på funktioner som är specifika för en viss slutpunkt:
Depth:
Bash
function KAPI_Depth(currency_pair, depth) {
api_data = JSON.parse(
KAPI_Public("Depth", "pair=" + currency_pair + "&count=" + depth)
)
api_results = new Array()
for (count = 0; count < parseInt(depth); count++) {
api_results.push([
api_data['result'][currency_pair]['bids'][count][0],
api_data['result'][currency_pair]['bids'][count][1],
api_data['result'][currency_pair]['asks'][count][0],
api_data['result'][currency_pair]['asks'][count][1]
])
}
return api_results
}Ticker:
Bash
function KAPI_Ticker(currency_pairs) {
api_data = JSON.parse(
KAPI_Public("Ticker", "pair=" + currency_pairs)
)
api_results = new Array()
for (name in api_data['result']) {
api_results.push([
name,
api_data['result'][name]['a'][0],
api_data['result'][name]['a'][2],
api_data['result'][name]['b'][0],
api_data['result'][name]['b'][2],
api_data['result'][name]['c'][0],
api_data['result'][name]['c'][1]
])
}
return api_results
}För att använda skripten ovan, lägg helt enkelt till det generiska skriptet till det slutpunktsspecifika skriptet:
Bash
function KAPI_Public(endpoint, parameters) {
http_response = UrlFetchApp.fetch(
'https://api.kraken.com/0/public/' + endpoint + '?' + parameters
)
api_data = http_response.getContentText()
return api_data
}
function KAPI_Depth(currency_pair, depth) {
api_data = JSON.parse(
KAPI_Public("Depth", "pair=" + currency_pair + "&count=" + depth)
)
api_results = new Array()
for (count = 0; count < parseInt(depth); count++) {
api_results.push([
api_data['result'][currency_pair]['bids'][count][0],
api_data['result'][currency_pair]['bids'][count][1],
api_data['result'][currency_pair]['asks'][count][0],
api_data['result'][currency_pair]['asks'][count][1]
])
}
return api_results
}Decimal- och tusentalsavgränsarna som visas i denna artikel kan skilja sig från de format som visas på våra handelsplattformar. Läs vår artikel om hur vi använder punkter och kommatecken för mer information.