NOTA: Este artigo visa passar as orientações básicas do funcionamento do módulo
Net::Twitter. Como aplicações que envolvem segurança de contas de twitter crackeadas podem causar danos a imagens e marcas, aplicações em produção devem realizar a limpeza dos dados assegurando que apenas entradas válidas sejam informadas.
Estas aplicações também devem garantir a segurança dos usuários, armazenando as credenciais de forma segura - bancos de dados protegidos ou arquivos criptografados são opções. Isto está além dos objetivos deste tutorial.
Para obter melhores conhecimentos de segurança leia:
Integrar uma aplicação Perl com o Twitter é uma das melhores formas de estudarmos como o Perl pode se integrar com as redes sociais modernas. O Perl oferece, por meio do CPAN os módulos Net::Twitter, Net::Twitter::Lite, App::Twitter e Net::Oauth como interfaces simplificadas para programação de uma aplicação integrada ao Twitter. Esta aplicação pode ser uma aplicação Web, um cliente desktop com Tk ou mesmo uma aplicação de linha de comando com GetOpt::Std. Enfim, com Perl e um pouco de criatividade as possibilidades tendem ao infinito.
O Twitter não oferece nenhuma interface oficial para programadores Perl. Mas nossos amigos, criadores de módulos do CPAN, realizaram um trabalho muito descente e profissional desenvolvendo os módulos que nos fornecem a API ao Twitter, além de outras redes sociais que podemos integrar com o Perl, como o polêmico Facebook.
A escolha do módulo a ser utilizado é uma questão de analisar seu projeto e sua familiaridade com a forma de utilizar o módulo ou mesmo o framework. Alguns módulos do Twitter são integrados ao Moose, ao Catalyst ou até mesmo ao POE. Como o objetivo deste artigo é explicar como utilizar o Perl com o Twitter não vou complicar a vida dos iniciantes com o Moose ou o POE pois isto poderia excluir os programadores menos experientes, e este não é o objetivo da comunidade. Então irei utilizar o módulo Net::Twitter.
Eu gosto muito deste módulo pois, como administrador de sistemas, acabo utilizando muitos módulos do tipo Net:: como Net::SSH, Net::Ping, Net::SNMP, Net::SMTP, etc... Isso faz com que eu prefira os módulos Net:: pois eles tem muita familiaridade com sua forma de funcionamento. Mas acho que está na hora de um pouco de ação. Vamos preparar nosso kit para twittar.
Registre sua aplicação:
Para começar, nossa primeira aplicação será um comando shell que envia mensagens para uma conta específica do twitter. Vamos precisar dos módulos Geopt::Std, Net::Twitter e o Term::ReadKey além de uma conta de desenvolvedor no twitter.
Para criar esta conta acesse:
dev.twitter.com/apps/new. Ela irá fornecer os dados que sua aplicação necessita para efetuar conexão com o site via OAuth. Para uma aplicação cliente que ficará hospedada em desktop comando ou Perl TK o Twitter vai te fornecer:
API key
XXXXXXXXXXXX
Consumer key
XXXXXXXXXXXXXXXXXXXXXXXXX
Consumer secret
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Request token URL
https://api.twitter.com/oauth/request_token
Access token URL
https://api.twitter.com/oauth/access_token
Authorize URL
https://api.twitter.com/oauth/authorize
Estas informações são importantes, principalmente para a primeira vez que um usuário novo utilizar esta ferramenta. Então, vamos discutir como funciona a autenticação de uma aplicação externa ao Twitter. Depois de compreendido o processo de autenticação fica mais fácil decidir se o seu projeto vai manusear a autenticação via SQLite, arquivos de texto criptografados ou qualquer outra forma que você considere interessante.