You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

无法从WorldCoin Index API仅提取价格的技术问询

解决WorldCoin Index API获取价格的问题

你遇到的核心问题是没搞清楚API返回的JSON结构——Markets是一个数组,不是单个对象,所以直接用data.Markets.Price肯定拿不到值。我帮你调整了代码,同时加了一些容错处理:

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  // 注意把URL里的&改成普通的&,虽然有些环境能自动解析,但规范写法更稳妥
  var response = UrlFetchApp.fetch("https://www.worldcoinindex.com/apiservice/ticker?key=h3mWeJn5YvaCFGIVqGGXz4fuKM9EaA&label=sumobtc&fiat=btc");
  var json = response.getContentText();
  var data = JSON.parse(json);
  
  // 先判断数组是否存在且有数据,避免空数组报错
  if (data.Markets && data.Markets.length > 0) {
    // 你的请求只指定了一个label,所以取数组第一个元素的Price属性
    var targetPrice = data.Markets[0].Price;
    sheet.getRange(2,10).setValue(targetPrice);
    Logger.log("成功获取价格:" + targetPrice);
  } else {
    Logger.log("未查询到对应市场数据");
    sheet.getRange(2,10).setValue("无数据");
  }
}

额外调试小技巧

如果以后再遇到类似的API结构问题,你可以先把完整的返回数据格式化打印出来,这样能直观看到结构:

Logger.log(JSON.stringify(data, null, 2));

运行后去查看日志,就能清楚看到Markets是数组类型,每个元素里才包含PriceName这些字段。

内容的提问来源于stack exchange,提问作者Raghav Reggie Jerath

火山引擎 最新活动