Cara mendapatkan token pengesahan WebSocket - Contoh kod dalam Python 3

Terakhir dikemas kini: 1 April 2025

Suapan peribadi API WebSocket kami (seperti suapan openOrders dan suapan addOrder) memerlukan token pengesahan daripada titik akhir REST API GetWebSocketsToken.

Berikut ialah contoh kod Python 3 untuk memanggil titik akhir REST API GetWebSocketsToken, menghuraikan respons JSON, dan mengeluarkan token pengesahan WebSocket baharu:

#!/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'])

Pemboleh ubah kunci awam/peribadi API (api_key dan api_secret) hendaklah digantikan dengan kunci API baharu daripada akaun Kraken anda, selepas itu kod tersebut boleh digunakan untuk mendapatkan token pengesahan WebSocket untuk akaun yang sama. Ambil perhatian bahawa kunci API mesti mempunyai kebenaran Lain-lain -> Akses API WebSockets yang didayakan.

Perlu bantuan lebih lanjut?