You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets脚本获取数字标识符加密代币数据报错求助

解决Google Sheets调用CoinMarketCap API获取纯数字符号代币价格的语法错误

错误根源

你遇到的语法错误并非真的缺少右括号,而是JavaScript语法规则限制:纯数字开头的对象属性名,不能使用点(.)符号访问,必须改用方括号([])语法。

报错行第27行的parseData.data.00.quote.USD.price中,.00是非法语法——JS解析器会把.00识别为数字字面量(0.00),而非对象属性访问,进而引发解析混乱,导致误报"missing ) after argument list"。

对比正常脚本中的parseData.data.XCN.quote.USD.price,XCN是字母开头的属性名,符合点符号访问的规则,所以可以正常运行。

修正方案

1. 修复属性访问语法

将第27行的属性访问方式从点符号改为方括号:

sh3.getRange(48, 2).setValue(parseData.data['00'].quote.USD.price)

2. 清理冗余的API请求配置

你的报错脚本中存在配置冲突:url指向quotes/latest接口(根据symbol查询单代币价格),但requestOptions里的uri却写了listings/latest(获取代币列表),且附带了start/limit等不需要的参数。这些冗余配置虽然不会直接引发语法错误,但会增加代码混淆度,建议清理:

修正后的完整脚本:

function getCryptoPrice() {
  var sh2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
  var sh3 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet3");
  
  var apiKey = sh2.getRange(1, 2).getValue();
  
  var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=00";
  var requestOptions = {
    method: 'GET',
    headers: {
      'X-CMC_PRO_API_KEY': apiKey
    },
    json: true,
    gzip: true
  };
  
  var httpRequest = UrlFetchApp.fetch(url, requestOptions);
  var getContext = httpRequest.getContentText();
  
  var parseData = JSON.parse(getContext);
  sh3.getRange(48, 2).setValue(parseData.data['00'].quote.USD.price);
}

额外说明

  • 对于包含特殊字符、纯数字、空格的对象属性名,都必须使用方括号语法访问
  • CoinMarketCap的quotes/latest接口只需要symbol参数,无需start/limit等列表接口参数,清理后代码更高效

内容的提问来源于stack exchange,提问作者Soren The Swede

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 18:25:26