Coinmarketcap Authenticated API错误:400“ \” value \“必须包含[id,symbol,slug]中的至少一项,

时间:2019-07-15 06:59:52

标签: javascript google-apps-script google-sheets

我正在尝试使用Google Sheets脚本运行此功能,但它似乎无法识别我的“ qs:{'id':'1'}”行

获取结果

{
    "status": {
        "timestamp": "2019-07-15T06:41:31.753Z",
        "error_code": 400,
        "error_message": "\"value\" must contain at least one of [id, symbol, slug]",
        "elapsed": 0,
        "credit_count": 0
    }
}

我的API密钥在

sheet =“ Config”

单元格=“ B35”

这不是问题,因为如果我删除API密钥,它将给出“无效的API错误”,因此我知道地址和API是正确的。

我期望得到此处文档中所述的结果 https://coinmarketcap.com/api/documentation/v1/#operation/getV1CryptocurrencyQuotesLatest

function test() {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Config");
    var key = sheet.getRange("B35").getValue()
    var options = {
        muteHttpExceptions: true,
        headers : {'X-CMC_PRO_API_KEY': key},
        qs: {'id': '1'},
        json: true,
        gzip: true
    }

    var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest";

    var response = UrlFetchApp.fetch(url, options);

    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("workingArea01").getRange('!F2').setValue(response);
}

1 个答案:

答案 0 :(得分:0)

谢谢您的评论。通过此信息,我可以通过将qs:数据直接添加到url的末尾来使其正常工作,如下所示:

var options = {
               muteHttpExceptions: true,
               headers : {'X-CMC_PRO_API_KEY': key},               
               }
var params = "?&id=1"
var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest";


var response = UrlFetchApp.fetch(url+params, options);