Como puxar o preço das criptomoedas dentro do Google Sheets

in #pt6 years ago

pullDataSheets.png

<p dir="auto">Hoje começarei a escrever uma serie de pequenos artigos demonstrando como extrair informações das exchanges de criptomoedas. <p dir="auto">Bom, a muito tempo uso um add-ons no Google Sheets chamado <a href="https://cryptofinance.jbuty.com/" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">CryptoFinance, que consegue puxar os preços de TODAS as criptomoedas que estão no <a href="https://coinmarketcap.com/" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">CoinMarketCap e também o preço diretamente nas principais exchanges. <p dir="auto">Usando uma sintaxe super simples, se consegue extrair o preço de qualquer criptomoeda ou token. Usando a formula =CRYPTOFINANCE("ETH/BTC") se consegue puxar o preço do Ethereum em Bitcoin por exemplo. Mudando o "BTC" para "USD" se puxa o preço em Dolar, "BRL" se consegue o preço em Real e até se consegue puxar o preço do Ethereum por exemplo em relação a qualquer outra criptomoeda. Quanto custa o Ethereum em Dogecoin? Basta colocar na formula "ETH/DOGE". <p dir="auto">Ou seja é um add-on indispensável para se acompanhar o portfólio de criptomoedas em uma planilha, mas hoje, dia 19 de outubro o Coinmarketcap resolveu barrar os IPs do servidores Google que puxam dados diretamente do Coinmarketcap como é o caso do add-on CryptoFinance e surgiu um boato que o Coinmarketcap iria estar barrando o Google Sheets de puxar dados do Coinmarketcap definitivamente. <p dir="auto">Entrando no site do CryptoFinance, o pessoal lá já está preparado para isso e então construiram um proxy para acessar o Coinmarketcap indiretamente, mas no momento eles estão cobrando uma taxa de $10,00 USD mensal, para oferecer o serviço de forma ininterrupta, o que considero muito caro. <p dir="auto">Por isso decidi pesquisar uma solução, até que encontrei um ótimo video no YouTube explicando como usar a API das exchanges para puxar dados das mesmas. Ao final da série divulgarei o video que achei. <p dir="auto">A solução é criar um script dentro do Google Sheets, para acessar, vá ao menu "Ferramentas" (Tools) e clique em "Editor de script" (Script editor) como mostra a imagem: <p dir="auto"><img src="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmdtbX951kzQyMXqqJyXhPvjHETwjFozKPxKi3LuKGfYXy/Screenshot%20from%202018-10-20%2021-34-53.png" alt="Screenshot from 2018-10-20 21-34-53.png" srcset="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmdtbX951kzQyMXqqJyXhPvjHETwjFozKPxKi3LuKGfYXy/Screenshot%20from%202018-10-20%2021-34-53.png 1x, https://images.hive.blog/1536x0/https://cdn.steemitimages.com/DQmdtbX951kzQyMXqqJyXhPvjHETwjFozKPxKi3LuKGfYXy/Screenshot%20from%202018-10-20%2021-34-53.png 2x" /> <p dir="auto">Esse editor de script usa a linguagem de programação <a href="https://developers.google.com/apps-script/overview" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Google Apps Script, que é baseada em JavaScript, se você não faz ideia do se trata "linguagens de programação", não se assuste e me acompanha que você entenderá perfeitamente o básico para extrair algumas informações úteis das exchanges. Se você somente precisa extrair o ultimo preço das exchanges, ao final de cada parte deixarei o código completo para você acessar o ultimo preço de qualquer criptomoeda das exchanges que uso! <p dir="auto">Após clicar em "Script editor", uma nova aba no navegador irá abrir com o editor de scripts: <p dir="auto"><img src="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmdcJZEVr5kw9thN8JBb4ikXqJoGK3HWm4Jg4EVhKDtALd/Screenshot%20from%202018-10-20%2021-52-03.png" alt="Screenshot from 2018-10-20 21-52-03.png" srcset="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmdcJZEVr5kw9thN8JBb4ikXqJoGK3HWm4Jg4EVhKDtALd/Screenshot%20from%202018-10-20%2021-52-03.png 1x, https://images.hive.blog/1536x0/https://cdn.steemitimages.com/DQmdcJZEVr5kw9thN8JBb4ikXqJoGK3HWm4Jg4EVhKDtALd/Screenshot%20from%202018-10-20%2021-52-03.png 2x" /> <p dir="auto">Bom, para você entender o processo, terá que saber como testar as suas buscas nas APIs das exchanges e terá que associar estas buscas nas exchanges a uma variável. Para isso escreva esta linha entre as chaves {}: <pre><code>var url = "https://www.mercadobitcoin.net/api/BTC/ticker <p dir="auto">Está linha irá associar o link acima a variável "url" que é uma string. Agora vamos escrever uma linha de código para criarmos um log, onde você poderá revisar o resultado das variáveis que você estiver trabalhando: <pre><code>Logger.log(url); <p dir="auto">O que a linha acima faz é gravar um log da impressão da string "url" Assim deverá ficar o seu código: <p dir="auto"><img src="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmZiUjmz3LzR4aGR2cxGRZoipkHCSgv1KwoAKkPSx5hYzn/Screenshot%20from%202018-10-20%2022-08-432.png" alt="Screenshot from 2018-10-20 22-08-432.png" srcset="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmZiUjmz3LzR4aGR2cxGRZoipkHCSgv1KwoAKkPSx5hYzn/Screenshot%20from%202018-10-20%2022-08-432.png 1x, https://images.hive.blog/1536x0/https://cdn.steemitimages.com/DQmZiUjmz3LzR4aGR2cxGRZoipkHCSgv1KwoAKkPSx5hYzn/Screenshot%20from%202018-10-20%2022-08-432.png 2x" /> <p dir="auto">Para testar o seu código salve, usando "Ctrl+S", nomeie o arquivo a ser salvo e clique no "Play": <p dir="auto"><img src="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmS3UaKcKapepzJS9jGuMs7Ed6jWTuDLgvaMiPPhN43sX6/Screenshot%20from%202018-10-20%2022-03338-43.png" alt="Screenshot from 2018-10-20 22-03338-43.png" srcset="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmS3UaKcKapepzJS9jGuMs7Ed6jWTuDLgvaMiPPhN43sX6/Screenshot%20from%202018-10-20%2022-03338-43.png 1x, https://images.hive.blog/1536x0/https://cdn.steemitimages.com/DQmS3UaKcKapepzJS9jGuMs7Ed6jWTuDLgvaMiPPhN43sX6/Screenshot%20from%202018-10-20%2022-03338-43.png 2x" /> <p dir="auto">Clicando em "Play" o editor vai compilar o código. Para verificar o log, clique no menu "View" e então em "Logs": <p dir="auto"><img src="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmQiCiX34U4KeUhMQNMbXy9rS8vigdUgK4s7K9DzQxNrGT/Screenshot%20from%202018-10-20%2022-34-31.png" alt="Screenshot from 2018-10-20 22-34-31.png" srcset="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmQiCiX34U4KeUhMQNMbXy9rS8vigdUgK4s7K9DzQxNrGT/Screenshot%20from%202018-10-20%2022-34-31.png 1x, https://images.hive.blog/1536x0/https://cdn.steemitimages.com/DQmQiCiX34U4KeUhMQNMbXy9rS8vigdUgK4s7K9DzQxNrGT/Screenshot%20from%202018-10-20%2022-34-31.png 2x" /> <p dir="auto">O editor vai exibir o log em uma janela, como mostra a imagem: <p dir="auto"><img src="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmcYkbitPS1eeBYdbWBYPECnNQLXoZs6CMcnoAMmwtbkqm/Screenshot%20from%202018-10-20%2022-37-55.png" alt="Screenshot from 2018-10-20 22-37-55.png" srcset="https://images.hive.blog/768x0/https://cdn.steemitimages.com/DQmcYkbitPS1eeBYdbWBYPECnNQLXoZs6CMcnoAMmwtbkqm/Screenshot%20from%202018-10-20%2022-37-55.png 1x, https://images.hive.blog/1536x0/https://cdn.steemitimages.com/DQmcYkbitPS1eeBYdbWBYPECnNQLXoZs6CMcnoAMmwtbkqm/Screenshot%20from%202018-10-20%2022-37-55.png 2x" /> <p dir="auto">O conteúdo da variável "url" é exibido. Por enquanto é isso, nos próximos dias estarei postando como criar os scripts para acessar cada uma das exchanges <a href="https://www.mercadobitcoin.com.br/" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">MercadoBitcoin, <a href="https://poloniex.com/" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Poloniex, <a href="https://bittrex.com/" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Bittrex, <a href="https://www.binance.com/?ref=16651328" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Binance, <a href="https://www.kucoin.com/#/?r=1fh3N" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Kucoin, <a href="https://www.coinexchange.io/?r=8418a7e3" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Coinexchange, <a href="https://www.cryptopia.co.nz/Register?referrer=carlosgb" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Cryptopia e <a href="https://hitbtc.com/" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">HitBTC. <p dir="auto"><span>Meu blog <a href="http://assuntotecnologia.com.br" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">http://assuntotecnologia.com.br <p dir="auto"><span>Meu Steemit <a href="https://steemit.com/@assuntotech" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://steemit.com/@assuntotech <p dir="auto"><span>Twitter <a href="https://twitter.com/AssuntoT" target="_blank" rel="nofollow noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://twitter.com/AssuntoT
Sort:  

Eu chuto que a coinmarketcap vai barrar ou porque os plugins estavam floodando dados ou porque fizeram um acordo com a cryptofinance e vão receber uma parte desse $.

Eu não sabia que google sheets tinha extensões e adorei ver esse script prontinho no final. Agora ficou muito mais interessante pra mim começar umas novas planilhas lá, obrigado.

Exatamente, muitas pessoas utilizam o cryptofinance e também acessam a API publica do coinmarketcap através do google sheets então de vez em quando a coinmarketcap bloqueia os IPs do google sheets.

Logo estarei postando o código para acessar o ultimo preço dos pares dentro das exchanges listadas acima, muito obrigado pelo seu comentário.

Congratulations @assuntotech! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

<p dir="auto"><a href="http://steemitboard.com/@assuntotech" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link"><img src="https://images.hive.blog/768x0/https://steemitimages.com/70x80/http://steemitboard.com/notifications/comments.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/70x80/http://steemitboard.com/notifications/comments.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/70x80/http://steemitboard.com/notifications/comments.png 2x" /> Award for the number of comments <p dir="auto"><sub><em>Click on the badge to view your Board of Honor.<br /> <sub><em>If you no longer want to receive notifications, reply to this comment with the word <code>STOP <p dir="auto"><strong><span>Do not miss the last post from <a href="/@steemitboard">@steemitboard: <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-ranking-update-resteem-and-resteemed-added" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link"><img src="https://images.hive.blog/768x0/https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmfRVpHQhLDhnjDtqck8GPv9NPvNKPfMsDaAFDE1D9Er2Z/header_ranking.png" srcset="https://images.hive.blog/768x0/https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmfRVpHQhLDhnjDtqck8GPv9NPvNKPfMsDaAFDE1D9Er2Z/header_ranking.png 1x, https://images.hive.blog/1536x0/https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmfRVpHQhLDhnjDtqck8GPv9NPvNKPfMsDaAFDE1D9Er2Z/header_ranking.png 2x" /><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-ranking-update-resteem-and-resteemed-added" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">SteemitBoard Ranking update - Resteem and Resteemed added <blockquote> <p dir="auto">Support <a href="https://steemit.com/@steemitboard" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">SteemitBoard's project! <strong><a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Vote for its witness and <strong>get one more award!