Então, eu tenho esse script do CoinMarketCap para pesquisar preços de criptomoedas. Quero modificar esse script onde eu possa aplicá-lo a uma célula e então arrastá-lo e soltá-lo na coluna para ler o símbolo do ticker em outra coluna de célula. Eu sou um completo novato em App Scripts.
function getLatestBTCPrice() {
var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest";
var apiKey = 'YOUR_API_KEY'; // Replace with your API key
var headers = {
"X-CMC_PRO_API_KEY": apiKey,
"Accept": "application/json"
};
var parameters = {
"symbol": "BTC"
};
var response = UrlFetchApp.fetch(url + "?" + Object.keys(parameters).map(key => key + '=' +
parameters[key]).join('&'), {'headers': headers});
var json = JSON.parse(response.getContentText());
var btcPrice = json.data.BTC.quote.USD.price;
return btcPrice;
}
Foi isso que tentei até agora sem sucesso. A linha com a qual estou tendo problemas é var tickerPrice = json.data.ETC.quote.USD.price;
que quero que o ETC atualize, pois ele leu um novo ticker, mas não consigo descobrir.
function getTickerPrice() {
var url = "https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest";
var apiKey = 'YOUR_API_KEY'; // Replace with your API key
var headers = {
"X-CMC_PRO_API_KEY": apiKey,
"Accept": "application/json"
};
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ticker = sheet.getRange('A3').getValue();
var parameters = {
"symbol": ticker
};
var response = UrlFetchApp.fetch(url + "?" + Object.keys(parameters).map(key => key + '=' +
parameters[key]).join('&'), {'headers': headers});
var json = JSON.parse(response.getContentText());
var tickerPrice = json.data.ETC.quote.USD.price;
return tickerPrice;
O objetivo é ter uma fórmula e
apply it to a cell and then drag and drop it down the column to read the ticker symbol in another cell column
.Aqui está uma versão modificada do seu script que deve atingir o que você deseja:
Eu removi
var sheet = SpreadsheetApp.getActiveSpreadsheet();
evar ticker = sheet.getRange('A3').getValue();
no script, pois ele apenas capturaA3
e altereivar tickerPrice = json.data.ETC.quote.USD.price;
paravar tickerPrice = json.data[ticker].quote.USD.price;
que ele leia o marcador da célula para a qual você estará apontando.SAÍDA
Observação: para que isso funcione, você precisará chamar a função como
=getTickerPrice(A3)
no Planilhas Google:and then drag
a fórmuladown
.REFERÊNCIA