我已经用了几个月的CRYPTOFINANCE.ai和Google电子表格,我想继续前进,通过“我自己”来获取加密货币数据。
我发现了CoinMarketCap API,这应该可以做到这一点。我成功地导入了一个或多个引号。现在我想要导入完整的列表数据,这样我就可以更新所有的价格,以便获得我的投资组合的实际价值。
下面是我现在拥有的内容,但它并没有导入完整的列表:
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,但我自己搞不懂。
发布于 2021-03-31 12:31:06
我不熟悉这个站点,但是当我自己尝试URL时,它会返回一个错误,说明缺少API密钥
{
"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。
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/
然后,此代码将将数据下载到当前工作表中:
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获得了他们的加密数据
发布于 2022-03-14 11:08:55
我错了两个请求: /listings和/quotes
。
https://stackoverflow.com/questions/66885823
复制相似问题