我如何在 Binance API 中使用通配符来 return 特定基础资产的所有报价资产

How do I use a wildcard in Binance API to return all quote assets for a particular base asset

我正在使用 Binance 到 Google Sheets,它在 Google Apps 脚本中编码以从 Binance API 获取数据到 Google Sheet。 (https://github.com/diegomanuel/binance-to-google-sheets)

如果我在 Google Sheet 中使用以下公式,我会得到所有交易对及其各自价格的列表:

=BINANCE("prices")

如果我使用以下公式,我只会得到 BTC(报价资产)在 USDT(基础资产)中的价格:

=BINANCE("prices", "BTC", "USDT")

我想使用通配符让所有报价资产与特定基础资产进行交易。以下代码对我不起作用,因为它不过滤 USDT 但会返回所有交易对:

=BINANCE("prices", ""*"", "USDT")

我还想使用通配符让所有基础资产与特定报价资产进行交易。以下代码只为我返回了一个错误:

=BINANCE("prices", "USDT", ""*"")

如果有人能帮我找到解决办法,我将不胜感激。

如果我很理解你的要求,试试

=query(getDataJSON("https://api1.binance.com/api/v3/ticker/24hr",A1:E1),"where Col1 like '%USDT' ")

采用这种布局

和以下脚本

function getDataJSON(url, xpath) {
  let resultat = [];
  function getData(elem, list) {
    var prov = []
    list.forEach(function (path) { prov.push(elem[path]) })
    resultat.push(prov)
  }
  try {
    var json = JSON.parse(UrlFetchApp.fetch(url).getContentText())
    var list = xpath.join().split(",")
    if (json.length) { json.forEach(function (elem) { getData(elem, list) }) } else { getData(json, list) }
    return resultat
  }
  catch (e) {
    return ('No data !');
  }
}

您可以在 getDataJSON 中的第三个位置(作为复选框)添加一个虚拟参数来刷新。

我将上述解决方案与从 https://github.com/diegomanuel/binance-to-google-sheets 获得的 Binance to Google Sheets 功能相结合。这是产生我需要的公式:

=query(BINANCE("prices"),"where Col1 like '%USDT'")