首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CoinMarketCap数据导入Google工作表

将CoinMarketCap数据导入Google工作表
EN

Stack Overflow用户
提问于 2021-03-31 10:16:40
回答 2查看 1.2K关注 0票数 0

我已经用了几个月的CRYPTOFINANCE.ai和Google电子表格,我想继续前进,通过“我自己”来获取加密货币数据。

我发现了CoinMarketCap API,这应该可以做到这一点。我成功地导入了一个或多个引号。现在我想要导入完整的列表数据,这样我就可以更新所有的价格,以便获得我的投资组合的实际价值。

下面是我现在拥有的内容,但它并没有导入完整的列表:

代码语言:javascript
复制
function price() {
  var sh1=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Feuille 4'); 
  var requestOptions = {
    method: 'GET',
  uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest',
  qs: {
    'start': '1',
    'limit': '5000',
    'convert': 'USD'}, 
    'headers' : {'X-CMC_PRO_API_KEY': '**********'}, 
    'json': true, 
    'gzip': true};

  var url='https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=ETH'; 
  var result = UrlFetchApp.fetch(url, requestOptions); 
  var txt= result.getContentText();
  var d=JSON.parse(txt);
  sh1.getRange(1, 2).setValue(d.data.ETH.quote.USD.price)
}

我知道它有一些事情要处理:https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest,但我自己搞不懂。

EN

回答 2

Stack Overflow用户

发布于 2021-03-31 12:31:06

我不熟悉这个站点,但是当我自己尝试URL时,它会返回一个错误,说明缺少API密钥

代码语言:javascript
复制
{
    "status": {
        "timestamp": "2021-03-31T12:29:45.203Z",
        "error_code": 1002,
        "error_message": "API key missing.",
        "elapsed": 0,
        "credit_count": 0
    }
}

而且,雅虎金融似乎免费提供了加密历史数据,不需要API,只需发出适当的web请求即可。从2020年3月31日到2021年3月31日,这一次占领了BTC。

代码语言:javascript
复制
https://query1.finance.yahoo.com/v7/finance/download/BTC-USD?period1=1585662494&period2=1617198494&interval=1d&events=history&includeAdjustedClose=true

需要破译period1和period2的格式,我相信它们是UNIX时间戳,我可以在这个站点上确认:

https://www.unixtimestamp.com/

然后,此代码将将数据下载到当前工作表中:

代码语言:javascript
复制
function importCSVFromWeb() {
  // Provide the full URL of the CSV file.
  var csvUrl = "function importCSVFromWeb() {
  // Provide the full URL of the CSV file.
  var csvUrl = "https://query1.finance.yahoo.com/v7/finance/download/BTC-USD?period1=1585662494&period2=1617198494&interval=1d&events=history&includeAdjustedClose=true";
  var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
  var csvData = Utilities.parseCsv(csvContent);

  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}

顺便说一句,雅虎金融公司似乎从CoinMarketCap获得了他们的加密数据

票数 0
EN

Stack Overflow用户

发布于 2022-03-14 11:08:55

我错了两个请求: /listings和/quotes

  • 清单给出了多种货币的列表。

  • 引号给你一枚硬币的数据,只有

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66885823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档