Google Script – Öffentliche REST API-Endpunkte

Zuletzt aktualisiert: 1. Apr. 2025

Unsere öffentlichen REST-API-Endpunkte sind über eine einfache HTTP-Anfrage zugänglich (genau wie eine Webseite über einen Webbrowser angefordert wird), sodass ein API-Client zum Importieren von Marktdaten in ein Google Sheet mit nur wenigen Zeilen Google Script-Code implementiert werden kann.

Installation

  1. 1

    Erstellen Sie ein neues Google Sheet oder öffnen Sie ein bestehendes Sheet.

  2. 2

    Öffnen Sie den Skripteditor über das Menü Erweiterungen -> Apps Script.

  3. 3

    Löschen Sie den angezeigten Standardcode (z. B. Alles auswählen und dann Löschen/Rücktaste).

  4. 4

    Kopieren/Einfügen Sie den Google Script API-Code (unten gezeigt) in den Skripteditor.

  5. 5

    Optional – Fügen Sie alle zusätzlichen benutzerdefinierten Funktionen hinzu, die Sie benötigen (z. B. um verschiedene Endpunkte aufzurufen oder verschiedene JSON-Felder zurückzugeben).

  6. 6

    Speichern Sie den Google Script-Code über das (Projekt speichern) Symbol.

    General_SaveIcon_10052020.png

Verwendung

Die Funktion KAPI_Public() ist für die Erstellung der entsprechenden URL und die Durchführung der HTTP-Anfrage an die API verantwortlich. Die Funktion KAPI_Public() kann direkt aufgerufen werden, indem Sie Folgendes (oder Ähnliches, je nach Endpunkt und Parametern) in eine Google Sheet-Zelle eingeben:

bash

Bash

=KAPI_Ticker("XBTUSD,ETHEUR,LTCUSD,XDGXBT,XDGUSD")

=KAPI_Depth("XDGUSD", "5")

Die Funktion KAPI_Public() gibt die ursprüngliche JSON-Antwort der API zurück, wie z. B. die folgende für das obige Depth-Endpunktbeispiel:

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]]}}}

Um die einzelnen Felder/Werte in separate Zellen innerhalb des Google Sheets zu platzieren, können zusätzliche benutzerdefinierte Funktionen aufgerufen werden, um die JSON-Antwort zu parsen, wie z. B. die Beispiel-Funktionen KAPI_Ticker() und KAPI_Depth():

bash

Bash

=KAPI_Ticker("XBTUSD,ETHEUR,LTCUSD,XDGXBT,XDGUSD")

=KAPI_Depth("XDGUSD", "5")

was die Ergebnisse ähnlich wie folgt anzeigen würde, wobei die Daten für alle Standardfunktionen von Google Sheets (SUM, AVERAGE, COUNT usw.) zugänglich wären:

API_GoogleSheetExample_10052020.png

Google Script-Code für öffentliche Endpunkte:

Allgemeine Funktion, die für Aufrufe aller öffentlichen Endpunkte enthalten sein muss:

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
}

Beispiele für Funktionen, die spezifisch für einen bestimmten Endpunkt sind:

Tiefe:

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
}

Um die obigen Skripte zu verwenden, hängen Sie einfach das generische Skript an das endpunktspezifische Skript an:

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
}

Die in diesem Artikel gezeigten Dezimal- und Tausendertrennzeichen können von den auf unseren Handelsplattformen angezeigten Formaten abweichen. Lesen Sie unseren Artikel darüber, wie wir Punkte und Kommas verwenden, um weitere Informationen zu erhalten.

Brauchst du weitere Hilfe?