Dica de Twitter: o que são "API requests"?

Postado quinta-feira, 11 jun 2009, às 23:58

TwitterSe você é usuário do Twitter, já deve ter percebido que programas específicos, como Twitterrific, Tweetie ou Nambu, oferecem uma experiência mais prazerosa e produtiva que a obtida pela interface do twitter.com. O que você talvez não saiba é que, apesar das vantagens de usar um aplicativo próprio para Twitter, estes são sujeitos a limitações que, dependendo de seus hábitos, podem lhe trazer muito aborrecimento.

Assim, é bom saber o que são essas limitações, como elas o afetam e quais as maneiras de contorná-las, a fim de aproveitar plenamente o que o Twitter tem a oferecer.

Quais os limites de postagens impostos pelo Twitter?

De acordo com a página oficial de ajuda, o usuário pode enviar, por dia, até 1.000 tuítes e 1.000 mensagens diretas. Outra imposição do serviço é permitir, no máximo, 1501 solicitações de API por hora.

O que são solicitações de API?

De forma bem simplificada, solicitações de API (ou chamadas de API) são quaisquer comandos enviados ao Twitter por programas de terceiros e alguns serviços de Web.

Felizmente, o Twitter não limita todos comandos, mas apenas os de atualização de listas de tuítes, de mensagens diretas e de @citações. Em outras palavras: toda vez que seu programa atualiza as listas de tuítes, de mensagens diretas e de @citações, consome 1 crédito para cada uma dessas listagens. Você tem direito a 150 por hora.

Isso significa que, cada vez que meu programa me avisa de mensagens novas, são 3 solicitações de API que morrem?

Em teoria, sim. Mas cabe ressaltar que, visando economizar “créditos”, diferentes programas utilizam diferentes métodos de atualizar mensagens. Alguns usam intervalos diferentes para cada tipo de atualização (por exemplo: 2 em 2 minutos para mensagens normais, 5 em 5 para @citações e mensagens diretas). Outros recorrem a intervalos dinâmicos, que aumentam ou diminuem de acordo com o saldo de solicitações remanescente.

Essas solicitações de API valem somente para programas externos ou se aplicam também ao site do Twitter?

Somente para programas e sites de terceiros. O Twitter não considera “solicitações de API” as operações realizadas no twitter.com. Mas o limite de 1.000 tuítes e 1.000 mensagens diretas por dia compreende a soma de envios efetuados por programas externos e pelo site do Twitter.

Quais programas e serviços fazem solicitações de API?

Só para citar alguns, entre os programas externos mais conhecidos temos o TweetDeckDestroyTwitter (PC/Mac/Linux), Tweetie, TwitterrificNambu (os três para Mac OS X e iPhone/iPod touch) e TwitterFonTwittelator (somente para iPhone e iPod touch).

Há vários clientes de Web para acesso alternativo ao Twitter, como o TwitHive (para navegadores “normais”, em micros de mesa e portáteis) e o Hahlo (para celulares e dispositivos móveis). Todos consomem a taxa de solicitações de API.

Por fim, há os menos óbvios utilizadores da API: os acessórios de blogs e sites sociais que mostram seus mais recentes tuítes, como o disponível no Facebook.

Como contornar essas limitações?

Antes de mais nada, é bom lembrar que tais limites só valem para atualizações de listas de mensagens; não valem para outras ações, como envio de mensagens, visita de perfis, buscas. Por isso, se o limite estourou, seu programa não fará atualizações, mas você poderá continuar enviando tuítes e mensagens diretas, entre várias outras ações.

Mesmo assim, uma boa dica é evitar atualizar manualmente a lista de mensagens se o programa já o faz a intervalos regulares.

Outro toque: no computador, procure não usar mais de um programa de Twitter ao mesmo tempo. E, se você estiver tuitando pelo iPhone ou iPod, desligue o programa do computador.

Em último caso (ou melhor, penúltimo, como verá abaixo), dê um descanso de uma hora ao programa externo e utilize a página do twitter.com, que, como expliquei, não consome solicitações de API.

Agora, se você já gastou todos os créditos e faz questão absoluta de usar seu cliente predileto, o jeito é recorrer a um truque sujo, bem sujo: entre na página de configurações do twitter.com e altere sua senha de acesso. Só isso. Por algum motivo, o Twitter zera todas as solicitações de API sempre que a senha é alterada. Assim, basta agora que você mude a senha em seu programa de Twitter (óbvio, senão ele não consegue entrar, já que a senha antiga não funciona mais). Pronto. Você tem 150 solicitações novinhas para gastar por mais uma hora. Agora, se esse trabalho todo compensa, só você é quem vai poder avaliar...

Existe alguma maneira de saber a quantas anda meu limite horário de solicitações de API?

Alguns aplicativos — como o já citado TweetDeck (tanto a versão de computador quanto a de iPhone/iPod) — mostram ao usuário o valor atualizado do consumo de solicitações.

Mesmo que seu programa favorito não tenha esse recurso, é possível “consultar o saldo” no computador utilizando um programa do tipo Terminal. Basta entrar com o seguinte comando (substituindo as palavras “usuario” e “senha” pelos seus respectivos valores):

curl -u usuario:senha http://twitter.com/account/rate_limit_status.xml

O resultado será algo parecido com isto:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
<hourly-limit type="integer">100</hourly-limit>
<reset-time-in-seconds type="integer">1244772841</reset-time-in-seconds>
<reset-time type="datetime">2009-06-12T02:14:01+00:00</reset-time>
<remaining-hits type="integer">73</remaining-hits>
</hash>

A linha contendo o texto “<remaining-hits type=“integer”>73</remaining-hits>” é a que mostra o número de solicitações de API disponíveis. Neste exemplo, o valor é 73.

Três observações, porém...

A primeira é que a posição da linha que contém essa informação pode variar; aqui é a última, mas pode ser a primeira, a segunda...

Outra observação é que essa “consulta de saldo” não consome solicitações, portanto você pode realizá-la quantas vezes quiser.

A última é que o método acima só funciona em computadores que possuem o programa Curl. Em sistemas baseados em Unix, como Mac OS X ou Linux, o Curl já vem instalado de fábrica.

E se meu sistema for Windows?

Dá para utilizar também, contudo é um pouquinho complicado para quem não tem muita intimidade com computador; nem sei se compensa.

Mas não é difícil, não. Basicamente, você precisa apenas baixar o programa Curl, em http://curl.haxx.se/download.html. Depois de instalá-lo, é só abrir o programa “DOS Prompt” (Comando do DOS) e executar o código citado na resposta acima.

Só não me peça detalhes sobre o processo, pois não uso Windows. A solução, nesse caso, é você chamar aquele vizinho que vai aí toda semana reformatar o disco e reinstalar o sistema. ;)

Uma última coisa: percebi que algumas informações que você deu não estão corretas. Posso deixar um comentário corrigindo?

Deve. Não sou nenhum especialista no assunto. Portanto, é bem provável que haja uma ou outra asneira neste post. Se você apontar os erros, vou fazer duas coisas, nesta ordem: verificar se o que você falou é verdade e, caso proceda, publicar a correção.

Valeu, então. Abraço.

Outro.


_______________

1. Na data de publicação deste post, 11 de junho, o limite era de 100 chamadas. O valor passou para 150 no dia 1º de julho, conforme o changelog da documentação da API. Dica de Alessandro R.C., do Twitter Database.

_______________

You can leave a response, or trackback from your own site.

10 comentários

 1 

Poxa, João, mandou muito! Conseguiu esclarecer completamente o que é esse API request, é um grande serviço pra nós twitters. Ainda bem que eu não uso esses programas, senão já teria rompido o limite inúmeras vezes.

Abraço!

sexta-feira, 12 jun 2009, às 19:57
 2 

Ufa! Blog voltou à ativa! Que bom! E parabéns pelo texto — muito bem escrito!

domingo, 14 jun 2009, às 0:20
 3 

Obrigado, Joviano.

Mas recomendo que experimente usar um programa de terceiros para acessar o Twitter. Você vai se surpreender com os recursos e as conveniências que eles oferecem.

terça-feira, 16 jun 2009, às 14:34
 4 

Muitíssimo obrigado, professor Glauco!

Sua presença sempre é bem-vinda nesta humilde casa.

terça-feira, 16 jun 2009, às 14:38
 5 

Não é “humilde casa”! Deixe de ser humilde! (“Umilde” também não pode ser, tá? :-P )

Você tem conteúdo e escreve bem. Então não vejo nada humilde aqui.

Fico contente mesmo com a volta. E aprendi com este post.

Bem, agora voltei mais para recomendar o TwitterFon a usuários de iPhone. Acho o melhor aplicativo para Twitter — e o mais agradável de usar.

terça-feira, 16 jun 2009, às 23:29
 6 

Eu tentei vários mas não gostei! :/ Vc usa o Nmabu né? Um dia vou tentar ele, valeu!

sexta-feira, 19 jun 2009, às 16:30
 7 
@daonde:

Muito, bom. Eu tava quebrando a cabeça pra saber o q diabos era esse API mo canto do Tweetdeck. DestryTweeter tb tem contador de API.

sexta-feira, 19 jun 2009, às 16:51

Oie!
Olha só, o TwittDeck mostra sim qtas API ainda me restam, só que quando elas acabam, é só eu fechar o programa e abrir denovo que meu saldo volta... N sei se coincidentemente elas acabam de 1 em 1 hora, ou se o TweetDeck tem alguma outra coisa que me permite continuar usando ele depois que acaba...
Ficou mto bom o post :D
Bjim!

sexta-feira, 19 jun 2009, às 17:20
 9 

Fico contente de ter ajudado, @daonde. E muito obrigado pelo toque do DestroyTwitter. Incluí o link do programa no artigo atualizado.

domingo, 21 jun 2009, às 23:58
 10 

Oi, Amanda.

Graças a seu comentário, eu me lembrei de algumas coisas que eu havia esquecido de incluir na primeira vez. E, ao pesquisar sobre essas coisas, acabei descobrindo um grande erro em meu artigo original, por isso fui obrigado a atualizá-lo. Muito obrigado.

Quanto ao comportamento do TweetDeck, acredito que deva ser apenas coincidência que ele tenha zerado a contagem após ser reaberto. Digo isso porque o site do TweetDeck foi uma de minhas principais fontes de pesquisa e lá eles não dizem nada a respeito desse “recurso”.

segunda-feira, 22 jun 2009, às 0:10

Deixe um comentário

Nome (*)
E-mail (não será publicado) (*)
Site/Blog
Commentário