Title: Как вставить цены с coingecko в гугл таблицу? Post by: zasad@ on February 11, 2023, 03:46:40 PM Нужна только цена монеты с округлением до сотых.
Подскажите что нужно написать в гугл таблице на примере BTC? ___ Можно с любого подобного сайта, Коинмаркеткап и другие. Title: Re: Как вставить цены с coingecko в гугл таблицу? Post by: andy_pelevin on February 12, 2023, 08:52:08 AM У coingecko есть API. Причем, когда они в рекламе пишут что предоставляют самый полный криптовалютный API для трейдеров и разработчиков (https://www.coingecko.com/ru/api) - это не преувеличение.
Для получения данных в таблицу можно установить расширение к таблице или написать скрипт для внешнего АПИ. Я когда то давно пробовал пользовать расширением, но это было не очень удобно и с сильно ограниченным функционалом. АПИ - более гибкий и более универсальный инструмент, но для написания АПИ-запроса, нужно чётко знать, какие данные нужны и где их можно взять. Когда то давно я сделал ветку на БТТ (https://bitcointalk.org/index.php?topic=5178923.0) о различных способах автоматизации, но тема не получила поддержки от форумчан и я её забросил. Title: Re: Как вставить цены с coingecko в гугл таблицу? Post by: zasad@ on February 12, 2023, 07:23:17 PM https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd
Этот скрипт выводит Code: {"bitcoin":{"usd":21977}} Title: Re: Как вставить цены с coingecko в гугл таблицу? Post by: andy_pelevin on February 12, 2023, 09:00:22 PM https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd Этот скрипт выводит Code: {"bitcoin":{"usd":21977}} Это не скрипт, а АПИ-запрос, который возвращает данные в формате JSON. Для того, чтобы достать значение, собственно, и нужно добавить этот запрос в скрипт, который находится на странице "Apps Script". Буквально, в этом ответе написано: price bitcoin в валюте usd равен 21977. В запросе может быть не одно значение, а несколько, поэтому нужно понимать какие данные в ответе к чему относятся. К сожалению, тот скрипт, который я оставлял в таблице в качестве примера, на прямую не работает с таким форматом ответа, нужно будет порыться в своих старых таблицах... Я сейчас редко работаю с запросами из таблиц, предпочитаю питон+пандас... P.S. Кстати, в таблицы совсем недавно добавили коннектор данных. Там есть "бигквэри", эта штука может очень много, но, увы, она платная, и какой то "лукер". Я с этими фишками ещё не разбирался, завтра, если будет время, посмотрю... Title: Re: Как вставить цены с coingecko в гугл таблицу? Post by: witcher_sense on February 13, 2023, 06:23:41 AM https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd У меня нет опыта работы с API, но думаю что способов извлечь данные существует достаточно много и решение проблемы может зависеть от конкретной поставленной задачи.Этот скрипт выводит Code: {"bitcoin":{"usd":21977}} Если у вас не какой-то серьезный проект, который требует чтобы программа обеспечивала бесперебойный доступ для множества пользователей и всегда выводила правильные данные, то можно воспользоваться чем-то минималистичным. Вот написанный на коленке скрипт для извлечения только цены: Code: import requests EDIT: Можно опробовать онлайн тут: https://trinket.io/python3/73277981c9 Title: Re: Как вставить цены с coingecko в гугл таблицу? Post by: andy_pelevin on February 13, 2023, 07:00:48 AM ^
Скрипт на питоне не годится. Для гугл-таблиц нужен скрипт, написанный в Apps Script. Это диалект языка JS. Я не большой знаток Apps Script, но по идее скрипт функции должен выглядеть примерно так: Code: function get_price(ids) { в таблице нужно писать =get_price(ids) вместо ids поставить адрес ячейки со значением названия токена Но скрипт выдаёт ошибку превышения лимита скорости обращений. Видимо, все обращения к api.coingecko.com из гугл-таблиц суммируюся и их становится очень много. Как это победить, не знаю. Возможно, нужно отправлять авторизованные запросы, т.е., получить свой токен авторизации и добавлять его в запрос. Title: Re: Как вставить цены с coingecko в гугл таблицу? Post by: imhoneer on February 13, 2023, 04:37:48 PM Нужна только цена монеты с округлением до сотых. Подскажите что нужно написать в гугл таблице на примере BTC? Нашел следующее, вроде понятно написано https://mixedanalytics.com/knowledge-base/import-coingecko-data-to-google-sheets/ или Вам надо что-то другое? Title: Re: Как вставить цены с coingecko в гугл таблицу? Post by: Woodman on February 14, 2023, 07:14:38 AM Расширение можно поискать для Google sheets но надо понимать что очень быстро прилетит ограничение. Сделал по примеру с https://mixedanalytics.com/ и через пару запросов прилетел бан от coingecko- {"status":{"error_code":429,"error_message":"You've exceeded the Rate Limit. Please visit https://www.coingecko.com/en/api/pricing to subscribe to our API plans for higher rate limits."}} и расширения тоже будут накладывать ограничения, неделя - две полета и потом глюки, их делают чтобы бабло рубить с пользователей платных подписок.
и там на coingecko почему то нет десятичных. Лучше написать скрипт на google apps script с записью в таблицу и выполнением по расписанию или при обновлении таблицы. Можно еще и телеграм бота прицепить чтобы в телегу свежие данные слал. Будет надежно и бесплатно. Если надо могу подкинуть код, недавно делал для кукоина кое что подобное, можешь посмотреть в канале @feedbtc #1h data и #daily data берутся по описанному способу. p.s. вот нужный для вывода цены btc код, чего кругами ходить, в таблице выбираешь Расширения - Apps Script - вставляешь код, настраиваешь ID таблицы, имя листа, sheet.getRange(3, 3) указываешь куда вставлять данные на листе, в коде указан B3, если надо A1 в скобках ставь (1, 1), если D2 то в скобках (2, 4) и т.д... Такая в apps script система координат. - Cохраняешь - Выполнить. Чуть не забыл перед первым запуском скрипта надо сделать развертывание, погугли это просто. Code: const btcprice = () => { Чтобы запускалось автоматически надо настроить триггеры. |