首页 > 解决方案 > 如何从 coinmarketcap 的 api 获取数据

问题描述

我正在尝试从 coinmarketcap 获取数据,我在控制台日志中返回的错误是:

GET https://pro-api.coinmarketcap.com/v1/cryptocurrency/info?CMC_PRO_API_KEY=(API密钥隐藏)400(错误请求)

我有一种感觉是我创建的 url 变量导致了问题,但我不完全确定。

我将 url 变量的值更改为来自 jsonplaceholders.com 的随机 api,这似乎有效,这就是为什么我认为导致问题的原因是 url 值。

let url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/info",
  qString = "?CMC_PRO_API_KEY=" + apiKey + "&start=1&limit=5&convert=USD";

fetch(url + qString, { mode: "no-cors" })
  .then(resp => {
    return resp.json();
  })
  .then(data => {
    console.log(data);
  });

我希望收到有关加密货币的信息并让控制台日志显示它

标签: javascriptdatabasefetch

解决方案


请确认您的 api 查询字符串数据。

我检查了 coinMarketCap 文档,发现示例 api url 如下

https://pro-api.coinmarketcap.com/v1/cryptocurrency/info?id=1,2,10

更新:

其中一个 api 看起来像你的意图。

https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?sort=market_cap&start=1&limit=10&cryptocurrency_type=tokens&convert=USD,BTC

更新的解决方案:

您忘记在 api 密钥后添加“&”,您需要删除 BTC。

    let url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest", 
    qString = "?CMC_PRO_API_KEY=" + apiKey + "&sort=market_cap&start=1&limit=10&cryptocurrency_type=tokens&convert=USD";

推荐阅读