Coinbase pro web socket 获取货币的当前价格
Posted
技术标签:
【中文标题】Coinbase pro web socket 获取货币的当前价格【英文标题】:Coinbase pro web socket get the current price for a currency 【发布时间】:2020-09-29 19:41:09 【问题描述】:嗨,我正在尝试使用文档中的 coinbase api 获取比特币的实时价格,它说它不鼓励对价格数据进行轮询,所以我在徘徊,如果可以从他们的网络套接字提要中获取它,如果可以的话渠道以及它的价值是什么。我已经尝试过股票频道,但这不是我想要的
此代码有效,但我警告不要轮询
function get_price()
const callback = (error, response, data) =>
if(error)
console.log(error);
else
xPrice = data.price;
;
authedClient.getProductTicker(a2, callback);
这里是订阅 web socket feed 的代码
const websocket = new CoinbasePro.WebsocketClient(
["BTC-EUR"],
"wss://ws-feed-public.sandbox.pro.coinbase.com",
null,
channels: ['ticker']
);
【问题讨论】:
【参考方案1】:它正在工作,但您会同时收到 type='heartbeat' 和 type='ticker' 消息,并且它们会异步发送到您的回调函数。因此,在尝试运行处理代码的代码之前,您必须等待回调接收到代码消息。
const websocket = new CoinbasePro.WebsocketClient(
["BTC-EUR"],
"wss://ws-feed.pro.coinbase.com",
null, // <-- you need to put your API key in
channels: ['ticker']
);
websocket.on('message',data=>data.type==='ticker'&&xPrice=data.price&&console.log(data.price, data))
// (only want to see ticker messages)
// you will receive heartbeat (keep-alive) and ticker messages
// asynchronous callback will send data when it is available
// you must wait for data to be available and act on it
【讨论】:
没有帮助,这是我收到的相同数据 您收到的哪些数据不是您所期望的?我可以使用它在我的控制台中检索并查看 BTC-EUR 的当前价格 哦..这可能是因为正如他们在文档中所说,他们批量更新并选择何时发送更新 在该页面上打开开发者控制台,并检查网络选项卡,看看您是否可以查看他们使用的某种特殊 API 是否不同。我没有 coinbase 专业账户,所以无法查看 您需要使用的 URL 是:wss://ws-feed.pro.coinbase.com 和您的 API 密钥。沙盒不适合他们的交易者,所以他们可能不会及时更新以上是关于Coinbase pro web socket 获取货币的当前价格的主要内容,如果未能解决你的问题,请参考以下文章
如何使用NodeJS coinbase pro api从主体密钥获取价格
Python Coinbase Pro API 如何计算限价单的执行价值?
coinbase pro API - 我可以更新未平仓限价单吗?
调用 Coinbase pro 沙盒 api 时,无效:401 Unauthorized。文本:""message":"invalid signature&qu