Google Script - REST API genel uç noktaları

Son güncelleme: 1 Nis 2025

REST API genel uç noktalarımız basit bir HTTP isteğiyle (bir web sayfasının bir web tarayıcısı aracılığıyla istendiği gibi) erişilebilir olduğundan, piyasa verilerini bir Google E-Tablosuna aktarmak için bir API istemcisi yalnızca birkaç satır Google Script koduyla uygulanabilir.

Kurulum

  1. 1

    Yeni bir Google E-Tablosu oluşturun veya mevcut bir e-tabloyu açın.

  2. 2

    Uzantılar -> Uygulama Komut Dosyası menüsü aracılığıyla komut dosyası düzenleyiciyi açın.

  3. 3

    Gösterilen varsayılan kodu silin (örneğin, Tümünü Seç ardından Sil/Geri Tuşu).

  4. 4

    Google Script API kodunu (aşağıda gösterilmiştir) komut dosyası düzenleyiciye Kopyala/Yapıştır yapın.

  5. 5

    İsteğe Bağlı - Gereksinim duyduğunuz ek özel işlevleri ekleyin (örneğin, farklı uç noktaları çağırmak veya farklı JSON alanları döndürmek için).

  6. 6

    Google Script Kodunu (Projeyi kaydet) simgesi aracılığıyla kaydedin.

    General_SaveIcon_10052020.png

Kullanım

KAPI_Public() işlevi, uygun URL'yi oluşturmaktan ve API'ye HTTP isteği yapmaktan sorumludur. KAPI_Public() işlevi, bir Google E-Tablosu hücresine aşağıdakileri (veya uç noktaya ve parametrelere bağlı olarak benzerini) girerek doğrudan çağrılabilir:

bash

Bash

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

=KAPI_Depth("XDGUSD", "5")

KAPI_Public() işlevi, yukarıdaki Derinlik uç noktası örneği için aşağıdaki gibi API'den orijinal JSON yanıtını döndürür:

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

Bireysel alanları/değerleri Google E-Tablosu içindeki ayrı hücrelere yerleştirmek için, örnek KAPI_Ticker() ve KAPI_Depth() işlevleri gibi ek özel işlevler JSON yanıtını ayrıştırmak üzere çağrılabilir:

bash

Bash

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

=KAPI_Depth("XDGUSD", "5")

bu da verilerin standart Google E-Tabloları işlevlerinden (TOPLA, ORTALAMA, SAY, vb.) herhangi birine erişilebilir olacağı aşağıdaki gibi sonuçları gösterecektir:

API_GoogleSheetExample_10052020.png

Genel Uç Noktalar için Google Script Kodu:

Tüm Genel Uç Nokta çağrıları için dahil edilecek Genel İşlev:

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
}

Belirli bir Uç Noktaya özgü İşlev Örnekleri:

Derinlik:

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
}

Borsa Kodu:

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
}

Yukarıdaki komut dosyalarını kullanmak için genel komut dosyasını uç noktaya özel komut dosyasına eklemeniz yeterlidir:

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
}

Bu makalede gösterilen ondalık ve binlik ayırıcılar, alım satım platformlarımızda görüntülenen biçimlerden farklılık gösterebilir. Daha fazla bilgi için noktaları ve virgülleri nasıl kullandığımıza ilişkin makalemizi inceleyin.

Daha fazla yardıma mı ihtiyacınız var?