WebSocket kimlik doğrulama token'ı nasıl alınır - Python 3'te örnek kod

Son güncelleme: 1 Nisan 2025

WebSocket API'lerimizin özel akışları (örneğin openOrders akışı ve addOrder akışı gibi) REST API GetWebSocketsToken uç noktasından bir kimlik doğrulama token'ı gerektirir.

Aşağıda, REST API GetWebSocketsToken uç noktasını çağırmak, JSON yanıtını ayrıştırmak ve yeni WebSocket kimlik doğrulama token'ını çıkarmak için örnek Python 3 kodu bulunmaktadır:

#!/usr/bin/env python3

# Import required Python libraries
import time
import base64
import hashlib
import hmac
import urllib.request
import json

# Copy/paste API public key and API private key as displayed in account management
api_key = 'COPY/PASTE API PUBLIC KEY HERE'
api_secret = 'COPY/PASTE API PRIVATE KEY HERE'

# Variables (API method, nonce, and POST data)
api_path = '/0/private/GetWebSocketsToken'
api_nonce = str(int(time.time()*1000))
api_post = 'nonce=' + api_nonce

# Cryptographic hash algorithms
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)

# Encode signature into base64 format used in API-Sign value
api_signature = base64.b64encode(api_hmac.digest())

# HTTP request (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()

# Output API response
print(json.loads(api_response)['result']['token'])

API genel/özel anahtar değişkenleri (api_key ve api_secret), Kraken hesabınızdan yeni bir API anahtarı ile değiştirilmelidir; bunun ardından kod, aynı hesap için bir WebSocket kimlik doğrulama token'ı almak için kullanılabilir. API anahtarının Diğer -> WebSockets API'ye Erişim iznine sahip olması gerektiğini unutmayın.

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