Google Script – Öffentliche REST API-Endpunkte

Zuletzt aktualisiert: April 1, 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 Hilfe?