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.
WebSocket-rajapintojemme yksityiset syötteet (kuten openOrders-syöte addOrder-syöte) vaativat todennus-tokenin REST-rajapinnan GetWebSocketsToken-päätepisteestä.
Seuraavassa on Python 3 -esimerkkikoodi REST-rajapinnan GetWebSocketsToken-päätepisteen kutsumiseen, JSON-vastauksen jäsentämiseen ja uuden WebSocket-todennus-tokenin tulostamiseen:
#!/usr/bin/env python3
# Tuo tarvittavat Python-kirjastot
import time
import base64
import hashlib
import hmac
import urllib.request
import json
# Kopioi/liitä API:n julkinen avain ja API:n yksityinen avain tilinhallinnasta
api_key = 'KOPIOI/LIITÄ API:N JULKINEN AVAIN TÄHÄN'
api_secret = 'KOPIOI/LIITÄ API:N YKSITYINEN AVAIN TÄHÄN'
# Muuttujat (API-metodi, nonce ja POST-data)
api_path = '/0/private/GetWebSocketsToken'
api_nonce = str(int(time.time()*1000))
api_post = 'nonce=' + api_nonce
# Kryptografiset tiivistealgoritmit
api_sha256 = hashlib.sha256(api_nonce.encode('utf-8') + api_post.encode('utf-8'))
api_hmac = hmac.new(base64.b64decode(api_secret), api_path.encode('utf-8') + api_sha256.digest(), hashlib.sha512)
# Koodaa allekirjoitus API-Sign-arvossa käytettyyn base64-muotoon
api_signature = base64.b64encode(api_hmac.digest())
# HTTP-pyyntö (POST)
api_request = urllib.request.Request('https://api.kraken.com/0/private/GetWebSocketsToken', api_post.encode('utf-8'))
api_request.add_header('API-Key', api_key)
api_request.add_header('API-Sign', api_signature)
api_response = urllib.request.urlopen(api_request).read().decode()
# Tulosta API-vastaus
print(json.loads(api_response)['result']['token'])
API:n julkisen/yksityisen avaimen muuttujat (api_key ja api_secret) tulee korvata uudella Kraken-tilisi API-avaimella, minkä jälkeen koodia voidaan käyttää WebSocket-todennus-tokenin noutamiseen samalle tilille. Huomaa, että API-avaimella on oltava Other -> Access WebSockets API -oikeus käytössä.