terça-feira, 5 de março de 2013

Nova API do twitter search

twitter Hoje estava testando o site do meu cliente, e notei que o painel de tweets parava no Carregando...

Fui no console do Javascript do Mozilla Firefox para saber o que estava acontecendo, e para a minha surpresa, o twitter tinha desabilitado - sem aviso prévio - a versão 1.0 da API de busca...

Como fiz a coisa bem feita, não apareceu no site - ficava apenas com a mensagem "Carregando..." forever, mas era possível saber o problema, apenas se entrasse no console de erros.

Ao invés dos tweets, lá estava uma bela mensagem de erro em Inglês, que dizia mais ou menos isso, em formato JSON =)
{ "A api que você está usando será desativada (será OU foi?), mudar "o quanto antes" (antes de quê?) para a versão 1.1 }

Para minha sorte, eu tinha feito um sistema que de 10 em 10 minutos salvava o pacote de tweets no banco de dados, e eu tinha um no meu servidor local. Ctrl+C e Ctrl+V enquanto comecei a correr atrás da solução.

O fato é que os sites de suporte do twitter não são muito bons em dar suporte. Parece que eles querem tornar a coisa o mais misteriosa possível. 

Resumindo... motivo do bloqueio foi a nova necessidade de autenticação para fazer pesquisas de twitter, que usa o OAuth (plataforma aberta de autenticação).

Mas ainda bem que existe o Google, com algumas pesquisinhas daqui e dali, encontrei a solução.

Solução: Na versão 1.1, é necessário que o "pesquisador" tenha não só uma conta no twitter, mas também REGISTRE um aplicativo (não se preocupe, não precisa criar nenhuma linha de código, é só para obter umas chaves de acesso).

De posse de 4 strings ( oauth_token, oauth_token_secret, consumer_key e consumer_secret) é necessário um pequeno malabarismo usando o cUrl do PHP envolvendo criptografia, loops, codificação e HTTP headers para que se possa, enfim, realizar a busca e obter os tweets.

Boa parte do código que vou compartilhar eu devo a outros blogs, encontrei nesse aqui http://erisds.co.uk/code/twitter-oauth-simple-curl-requests-for-your-own-data.

O que fiz foi organizá-lo em forma de classe, para melhorar sua usabilidade.

O resultado, a quem interessar, está no meu site de software em formato zip, na seção de Programação Web, item SA_OAuth: http://software.sitesbr.net/category/tech


Nenhum comentário:

Postar um comentário