Google Script - REST API -julkiset päätepisteet

Viimeksi päivitetty: 1.4.2025

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.

Asennus

  1. 1

    Luo uusi Google Sheet tai avaa olemassa oleva taulukko.

  2. 2

    Avaa skriptieditori valikosta Laajennukset -> Apps Script.

  3. 3

    Poista näkyvissä oleva oletuskoodi (esimerkiksi Valitse kaikki ja sitten Delete/Askelpalautin).

  4. 4

    Kopioi ja liitä Google Script API -koodi (näkyy alla) skriptieditoriin.

  5. 5

    Valinnainen - Lisää tarvittaessa muita mukautettuja funktioita (esimerkiksi eri päätepisteiden kutsumiseen tai eri JSON-kenttien palauttamiseen).

  6. 6

    Tallenna Google Script -koodi (Tallenna projekti) -kuvakkeen kautta.

    General_SaveIcon_10052020.png

Käyttö

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

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

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

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ä:

API_GoogleSheetExample_10052020.png

Google Script -koodi julkisille päätepisteille:

Yleinen funktio, joka sisällytetään kaikkien julkisten päätepisteiden kutsuihin:

bash

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

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

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

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.

Tarvitsetko lisää apua?