В этом руководстве мы рассмотрим, как получить данные о рынке криптовалют из Бинанс API непосредственно в Google Таблицы, используя надстройку API Connector для Таблиц. Эта статья посвящена только доступу к открытым, не прошедшим проверку подлинности конечным точкам Binance (Binance требует специального скрипта для получения личных данных, как описано здесь ).
На мой взгляд, API Binance немного сбивает с толку, поскольку возвращает данные в виде валютных пар (например, BTCAUD, BTCBBTC, BTCBIDR, BTCBKRW, BTCBRL, BTCBUSD и т. Д.). Другие криптографические API просто возвращают «BTC» либо в долларах США, либо в валюте конвертации по вашему выбору. Но пока вы это знаете, к этому не так уж и сложно привыкнуть. Кроме того, приятным моментом в Binance является то, что он предоставляет некоторые подробные данные, которых нет в других API, например, открытые ордера и данные свечных графиков.
Если вы хотите пропустить описание, вы можете перейти прямо к концу и взять копию шаблона отслеживания криптовалюты Binance.
ПРЕЖДЕ ЧЕМ ВЫ НАЧНЕТЕ
Сначала нужно установить надстройку API Connector из Google Marketplace.
ЧАСТЬ 1. СОЗДАЙТЕ URL ЗАПРОСА API
Сначала мы будем следовать документации Binance API, чтобы получить доступ к 24-часовой статистике изменения цен для всех символов валютных пар.
- Корень API : https://api1.binance.com
- Конечная точка : / api / v3 / тикер / 24 часа
Примечание. Если у вас возникли проблемы с указанным выше корнем API, используйте альтернативный вариант, как указано в разделе общей информации об API официальной документации Binance.
Собирая все вместе, мы получаем полный URL-адрес запроса API:
https://api1.binance.com/api/v3/ticker/24hr
ЧАСТЬ 2: ИЗВЛЕКАЙТЕ ДАННЫЕ BINANCE API В ЛИСТЫ
Теперь давайте вставим этот URL-адрес в API Connector.
- Откройте Google Таблицы и нажмите «Надстройки»> «Коннектор API»> «Открыть».
- Оставьте раздел заголовков пустым. Конечные точки рыночных данных Binance являются общедоступными, поэтому нам здесь не нужны заголовки. Нам также не нужна дополнительная аутентификация, поэтому оставьте для этого параметра значение None.
- Создайте новую вкладку и нажмите «Установить текущую», чтобы использовать эту вкладку в качестве места назначения данных.
ЧАСТЬ 3: БОЛЬШЕ ПРИМЕРОВ URL-адресов API BINANCE
Поэкспериментируйте с конечными точками и строками запроса, как описано в документации, чтобы увидеть другие типы криптоданных из API. Если вы просто хотите войти и почувствовать это, поиграйте с URL-адресами, которые вы вводите в поле URL-адреса API. Попробуйте следующее (по одному).
Обратите внимание, что для данных фьючерсов базовой конечной точкой является https://fapi.binance.com.
- данные книги заявок (список открытых заявок по указанной валютной паре).
Выберите для этого отчета «компактный» стиль, чтобы все данные не выстраивались в одну строку.
https://api1.binance.com/api/v3/depth?symbol=BTCUSDT
- Данные Kline / свечного графика .
Снова выберите стиль отчета «компактный».
https://api1.binance.com/api/v3/klines?symbol=BTCUSDT&interval=30m
Чтобы преобразовать метку времени Binance в удобочитаемую дату, используйте следующую формулу в Таблицах:
=({Sheet!Cell}/1000)/86400+date(1970,1,1)
Для улучшения канала прошу ответить на несколько вопросов
Ссылка на опросник здесь
ЧАСТЬ 4: ОГРАНИЧЕНИЯ БИНАНСА
Если вы некоторое время используете Binance, вы почти наверняка столкнетесь с сообщением об ошибке с их сервера.
Вы можете увидеть несколько разных ошибок:
- Сервер ответил ошибкой (418) {«code»: - 1003, «msg»: «Использован слишком большой вес запроса; IP заблокирован до 1616682165041. Пожалуйста, используйте веб-сокет для оперативных обновлений, чтобы избежать банов ».
- Сервер ответил ошибкой (403). <Запрос заблокирован. В настоящее время мы не можем подключиться к серверу этого приложения или веб-сайта. Возможно, слишком большой трафик или ошибка конфигурации.>
Вы можете увидеть некоторую информацию об этих ошибках в документации Binance , но в основном Binance действительно чувствителен к ограничениям скорости. И когда вы запускаете свои запросы через API Connector / Google Sheets, вы с большей вероятностью достигнете этих ограничений скорости, потому что все запросы, выполняемые через Google Sheets, используют один и тот же пул IP-адресов с серверов Google. К сожалению, Binance, похоже, недостаточно увеличила свои ограничения скорости для Google.
Чтобы решить эту проблему, вы можете попробовать следующее:
- Вместо вызова https://api.binance.com используйте один из других их базовых доменов: https://api1.binance.com, https://api2.binance.com и https: //api3.binance. com.
- уменьшить количество запросов, которые вы вызываете одновременно. НЕ разбивайте их серверы тысячами запросов, так как это усугубит проблему для всех.
- подождите 5 минут и попробуйте еще раз
Если у вас по-прежнему возникают проблемы, вы также можете попробовать использовать криптографический API, который ограничивается вашим собственным ключом API, а не общим пулом IP-адресов, например CoinMarketCap или CryptoCompare .
ПРИЛОЖЕНИЕ: ШАБЛОН BINANCE
Вы можете сразу перейти к копии шаблона здесь . Удачного сбора данных!
ВАЖНОЕ ПРИМЕЧАНИЕ ПО БЕЗОПАСНОСТИ
Любой, у кого есть права владельца или редактирования вашей таблицы Google, может просматривать всю информацию, которую вы сохранили в коннекторе API, включая ключи API и другие учетные данные. Считайте эти ключи паролями и соответствующим образом ограничьте доступ к своей таблице.
До новых встреч! Ставите лайки