v2.5.2
Giriş yap

Api Nasıl Kullanılır - Binance Api ile Ekrana Veri Yazdırma

memdhaci
927 defa görüntülendi

Genel olarak api nasıl kullanılır bilmiyorum. Binance apisi kullanarak fotoğraftaki gibi bir dizinin içinden istediğim veriyi javascript ile ekrana yazdırmak istiyorum. Nasıl yapabilirim?

api detayları

bu da btc örnek api sanırım bilmiyorum

Cevap yaz
Cevaplar (5)
makifgokce
1084 gün önce

anlık olarak almak istiyorsan websocket ile yapmalısın.

<div id="price"></div>
const ws = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@ticker')
const price = document.getElementById('price') // veriyi yazdıracağımız html elementini seçiyoruz
ws.onmessage = (e) => {
    const data = JSON.parse(e.data)
    price.innerHTML = data.p // seçilen elemente istediğimiz veriyi yazdırıyoruz
    console.log(data)
}

https://github.com/binance/websocket-demo

makifgokce
1083 gün önce
// onmessage içerisinde
const lastPrice = data.c
const openPrice = data.o
price.innerHTML = (lastPrice - openPrice) / openPrice + '%'

bu şekilde yapabilirsin ama zaten bunu data.P ile çekebiliyorsun sanırım aynı değeri veriyor.
aşağıdaki linkte gelen verinin açıklamalarını görebilirsin.
https://github.com/binance/binance-spot-api-docs/blob/master/web-socket-streams.md#individual-symbol-ticker-streams

memdhaci
1084 gün önce

@makifgokce Teşekkür ederim oldu. son 24 saatlik değişimin yüzdesini nasıl alabilirim, anlık olarak olması şart değil. Şu şekilde hesaplanıyormuş ama yapamadım.

(lastPrice - openPrice ) / (openPrice)

memdhaci
1084 gün önce

@makifgokce bu tümünü ekrana yazdırdı. Yazdırmak istediğim kısmı nasıl seçicem. Ve her saniye verilen güncellenmesini nasıl sağlarım. setInterval ile bir şeyler denedim fakat olmadı.

makifgokce
1084 gün önce
<table class="table">
    <tr id="txt">
    </tr>
</table>
const txt = document.getElementById('txt')
const xhr = new XMLHttpRequest();
xhr.addEventListener('load', function(){
	const data = JSON.parse(this.responseText)
	for(var k in data){
      	const td = document.createElement('td')
        td.innerText = data[k]
        td.classList.add(k)
        txt.appendChild(td)
    }
})
xhr.open('GET', 'https://api.binance.com/api/v1/ticker/24hr?symbol=BTCUSDT')
xhr.send()