#google-apps-script #google-sheets #google-sheets-formula
Вопрос:
Я нашел скрипт для загрузки цен с рыночной капитализации монет, но в скрипте вы должны индивидуально ввести название монеты в скрипт. Поскольку я, возможно, захочу часто менять имена, мне кажется, что было бы проще «извлечь» имена из списка в столбце. В следующем коде вы вводите каждое имя в строке 21. Есть ли какой-либо способ отредактировать код для любых имен, перечисленных в B2:B10, и ввести эти имена в сценарий? значит, я могу просто отредактировать столбец B вместо сценария?
Заранее спасибо
enter codefunction coin_price() {
const myGoogleSheetName =
// Change "Sheet1" to the name of your sheet where you want to run this.
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1')
// Call CoinMarketCap and let them know who you are.
const coinMarketCapAPICall = {
method: 'GET',
uri: 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest',
qs: {
start: '1',
limit: '5000',
convert: 'USD',
},
headers: { 'X-CMC_PRO_API_KEY': 'YOUR_API_KEY_GOES_HERE' },
json: true,
gzip: true,
}
// Put the coin symbols that you want to follow here.
const myCoinSymbols = ['BTC', 'ETH', 'FIL', 'BTT', 'AMP', 'DOT']
// Let's itereate
for (let i = 0; i < myCoinSymbols.length; i ) {
const coinSymbol = myCoinSymbols[i]
const coinMarketCapUrl = `https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=${coinSymbol}`
const result = UrlFetchApp.fetch(coinMarketCapUrl, coinMarketCapAPICall)
const txt = result.getContentText()
const d = JSON.parse(txt)
const row = i 2
// Puts a column of at symbols into the sheet at B2.
myGoogleSheetName.getRange(row, 2).setValue(coinSymbol)
// Puts a column of current market price's in dollars into the sheet at B3.
myGoogleSheetName
.getRange(row, 3)
.setValue(d.data[coinSymbol].quote.USD.price)
Ответ №1:
Вы можете поместить свои символы в столбцы B, например, от B2 до B7, и извлечь их с помощью
var myCoinSymbols = myGoogleSheetName.getRange('B2:B7').getValues().join().split(',')
затем удалите эту строку myGoogleSheetName.getRange(row, 2).setValue(coinSymbol)
Комментарии:
1. Большое спасибо!!