从CoinMarketCap API获得报价,以欧元而不是美元-天然气



以下代码在CoinMarketCap API 的GAS(谷歌应用程序脚本(中适用

function cmcQuotes2() {

var ss       = SpreadsheetApp.getActiveSpreadsheet();
var sheet    = ss.getSheetByName('base');
var lastRow  = sheet.getLastRow();
var extension= lastRow - 2;

var oldAsset=sheet.getRange(2, 1, extension).getValues();
var rows=[];
var j;
for (j=0; j < oldAsset.length; j++) {
rows.push(oldAsset[j][0]);}

var apiKey = '*** your api key'; 
var params = {
'method'  : 'GET',
'qs'      : {'start': '1', 'limit': '100', 'convert': 'USD'},
'headers' : {'X-CMC_PRO_API_KEY': apiKey},
'muteHttpExceptions': true};

var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest";
var data = UrlFetchApp.fetch(url, params);
var data = JSON.parse(data.getContentText());
var data = data.data; 


var i;
for (i=0; i < data.length; i++) {
var asset       = data[i].symbol;               
var quote       = data[i].quote.USD.price;
if (quote < 1) {var a = parseFloat(quote);   var a = a.toFixed(8);   var quote = parseFloat(a);} 
if (quote >=1) {var a = parseFloat(quote);   var a = a.toFixed(2);   var quote = parseFloat(a);} 

var row=rows.indexOf(asset)+2;   
if (row>=2){
sheet.getRange(row, 2).setValue(quote);
}  
}
}

无论我试图用欧元而不是美元报价,我都做不到。

我就是做不到。

转换欧元而不是美元?不起作用。

var params = {
'method'  : 'GET',
'qs'      : {'start': '1', 'limit': '100', 'convert': 'EUR'},
'headers' : {'X-CMC_PRO_API_KEY': apiKey},
'muteHttpExceptions': true};

报价。欧元而不是价格。美元??不起作用。。

var quote       = data[i].quote.EUR.price;

第一种情况只是忽略欧元,第二种情况返回:

12:59:50
Errore
TypeError: Cannot read property 'price' of undefined

你对此有何看法?感谢

修改点:

  • UrlFethApp.fetch(url, params)params处,qs的性质不存在。我想这可能是你问题的原因
  • 从官方文件";Listings Latest";,似乎需要使用CCD_ 4的值作为查询参数

当以上几点反映到您的脚本中时,它变成如下。

修改的脚本:

发件人:
var apiKey = '*** your api key'; 
var params = {
'method'  : 'GET',
'qs'      : {'start': '1', 'limit': '100', 'convert': 'USD'},
'headers' : {'X-CMC_PRO_API_KEY': apiKey},
'muteHttpExceptions': true};

var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest";
var data = UrlFetchApp.fetch(url, params);
收件人:
var apiKey = '*** your api key';
var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest?start=1&limit=100&convert=USD";
var params = {
'method': 'GET',
'headers': {'X-CMC_PRO_API_KEY': apiKey, 'Accept': 'application/json'},
'muteHttpExceptions': true
};
var data = UrlFetchApp.fetch(url, params);

注:

  • 在这个修改后的脚本中,它假设您的API密钥可以用于您想要使用的API。请小心

参考文献:

  • 最新上市(官方文件(
  • UrlFetchApp.fetch(url,params(

相关内容

  • 没有找到相关文章

最新更新