Таблицы Google содержат большое количество встроенных функций. Но что, если ваша электронная таблица может включать данные в реальном времени, которыми вы можете манипулировать и обогащать с помощью постоянно растущего набора функций? Например, вы можете получить изображение карты Google по адресу или сделать снимок экрана веб-сайта с его URL-адреса. Это обещание объединения многоразовых функций Clay, которые привносят мощность и гибкость API в электронные таблицы.
В этой демонстрации мы покажем вам, как расширить листы с помощью быстрорастущей библиотеки общедоступных функций Clay.
Что вам понадобится для этого урока:
а. Аккаунт Google
б. Знание базовых концепций кодирования, хотя кодирование не потребуется, просто скопируйте и вставьте
Допустим, вы отслеживаете свой собственный капитал, и часть ваших денег находится в биткойнах и других криптовалютах. Поскольку цена биткойна постоянно меняется, вы хотите, чтобы в вашей электронной таблице была последняя цена токена, чтобы вы могли видеть общую сумму денег, которая у вас есть в любой момент времени.
Мы создадим демонстрационную таблицу, в которой всегда будут встроены последние цены на биткойны, как вы видите ниже.
Прежде чем мы создадим нашу собственную версию, попробуйте открыть лист с примерами ниже и выберите ячейки Биткойн или Эфириум, затем нажмите Получить цену токена, чтобы отобразить последние цены в листе. Для работы вам необходимо войти в свою учетную запись Google.
Вот что происходит под капотом и как воссоздать это для себя.
В этом случае мы используем функцию, написанную nicoslepicos, которая называется функцией blockchain-token-ticker, которая доступна здесь:
Https://clay.run/services/nicoslepicos/blockchain-token-ticker
Найдите минутку и попробуйте сами на сайте Clay. Эта функция принимает имя токена в качестве входных данных и возвращает информацию об этом токене. Например, если мы найдем биткойн, мы получим такой результат.
Input: token: bitcoin Output: id:”bitcoin” name:”Bitcoin” symbol:”BTC” rank:”1" price_usd:”1106.79" price_btc:”1.0" 24h_volume_usd:”194136000.0" market_cap_usd:”17903503661.0" available_supply:”16176062.0" total_supply:”16176062.0" percent_change_1h:”0.09" percent_change_24h:”4.39" percent_change_7d:”10.36" last_updated:”1487708044"
А вот и самое интересное. Давайте создадим нашу собственную таблицу, которая имитирует эту функцию. Сначала создайте новую электронную таблицу и введите имена нескольких токенов в виде строк. Например, ваша электронная таблица может выглядеть так:
Name of Token | Price of Token | Number of Tokens | Total Amount ripple | | 5 | bitcoin | | 9 | ethereum | | 10 |
Мы собираемся сделать кнопку в электронных таблицах Google, которая при нажатии будет использовать текст текущей выбранной ячейки в качестве имени токена и вызывать ранее обсуждавшуюся функцию nicoslepicos / blockchain-token-ticker, чтобы возвращать текущую цену этого токена.
- Щелкните Инструменты- ›Новый сценарий и вставьте следующее:
function myFunction(name) { var payload = { token: name }; var url = 'https://clay.run/services/nicoslepicos/blockchain-token-ticker'; var options = { 'method': 'post', 'payload': payload }; var response = UrlFetchApp.fetch(url, options); var json = response.getContentText(); var data = JSON.parse(json); return data } function getTokenPrice() { var ss = SpreadsheetApp.getActiveSpreadsheet(), sheet = ss.getActiveSheet(), range = sheet.getActiveRange(); values = range.getValues() values.forEach(function(value, i) { var data = myFunction(value[0]) writeData(data, range, i); }); } function writeData(data, range, i) { var firstNameOffset = range.offset(i, 1); firstNameOffset.setValue(data[0].price_usd); }
2. Щелкните Вставить- ›Рисование и Нарисуйте круг. Вы также можете добавить текст в этот круг, чтобы было понятно, что делает кнопка.
3. Как только вы вставите рисунок. Щелкните его правой кнопкой мыши и щелкните стрелку в правом верхнем углу, чтобы выбрать добавление сценария. Введите следующее:
getTokenPrice()
Вот и все! Теперь попробуйте, выбрав названия токенов и нажав кнопку. Наблюдайте, как цена волшебным образом увеличивается.
Вы можете использовать эту технику с другими общедоступными функциями Clay, которые постоянно добавляются и доступны здесь:
Http://clay.run/public/services
или создайте свою функцию на Clay.run/ и поделитесь ею с сообществом!
Если вам нужна помощь в начале работы или у вас есть отзыв, которым вы хотите поделиться, напишите мне, оставьте комментарий или присоединитесь к нашему gitter.