All
Suodata mukaan:
Miten talletan käteistä tililleni?
Tarvitsen apua tilin vahvistamisessa
Miksi en voi käyttää tiliäni?
Onko kryptovaluuttojen nostossa maksuja?
Tarvitsen apua kirjautuessani tililleni.
Meidän REST API -julkiset päätepisteet ovat käytettävissä yksinkertaisella HTTP-pyynnöllä (aivan kuten verkkosivua pyydetään verkkoselaimen kautta), joten API-asiakasohjelma markkinatiedon tuomiseksi Google Sheetiin voidaan toteuttaa vain muutamalla rivillä Google Script -koodia.
Luo uusi Google Sheet tai avaa olemassa oleva taulukko.
Avaa skriptieditori valikosta Laajennukset -> Apps Script.
Poista näkyvissä oleva oletuskoodi (esimerkiksi Valitse kaikki ja sitten Delete/Askelpalautin).
Kopioi ja liitä Google Script API -koodi (näkyy alla) skriptieditoriin.
Valinnainen - Lisää tarvittaessa muita mukautettuja funktioita (esimerkiksi eri päätepisteiden kutsumiseen tai eri JSON-kenttien palauttamiseen).
Tallenna Google Script -koodi (Tallenna projekti) -kuvakkeen kautta.

KAPI_Public()-funktio vastaa asianmukaisen URL-osoitteen luomisesta ja HTTP-pyynnön tekemisestä API:lle. KAPI_Public()-funktiota voidaan kutsua suoraan kirjoittamalla seuraava (tai vastaava päätepisteestä ja parametreista riippuen) Google Sheet -soluun:
Bash
=KAPI_Ticker("XBTUSD,ETHEUR,LTCUSD,XDGXBT,XDGUSD")
=KAPI_Depth("XDGUSD", "5")KAPI_Public()-funktio palauttaa alkuperäisen JSON-vastauksen API:lta, kuten seuraavan yllä olevassa Depth-päätepiste-esimerkissä:
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]]}}}Yksittäisten kenttien/arvojen sijoittamiseksi erillisiin soluihin Google Sheetissä voidaan kutsua muita mukautettuja funktioita JSON-vastauksen jäsentämiseksi, kuten esimerkiksi KAPI_Ticker()- ja KAPI_Depth()-funktioita:
Bash
=KAPI_Ticker("XBTUSD,ETHEUR,LTCUSD,XDGXBT,XDGUSD")
=KAPI_Depth("XDGUSD", "5")mikä näyttäisi tulokset seuraavanlaisesti, jolloin tiedot olisivat kaikkien tavallisten Google Sheets -funktioiden (SUM, AVERAGE, COUNT jne.) käytettävissä:

Yleinen funktio, joka sisällytetään kaikkien julkisten päätepisteiden kutsuihin:
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
}Esimerkkejä funktioista, jotka ovat ominaisia tietylle päätepisteelle:
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
}Käyttääksesi yllä olevia skriptejä, liitä yleinen skripti päätepistekohtaisen skriptin loppuun:
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
}Tässä artikkelissa näytetyt desimaali- ja tuhaterottimet voivat poiketa kaupankäyntialustoillamme näytettävistä muodoista. Lue artikkelimme siitä, miten käytämme pisteitä ja pilkkuja saadaksesi lisätietoja.