Pessoal, neste tutorial você irá aprender como fazer sua aplicação “Tweetar” automaticamente em sua conta.

O processo é bastante simples e pode ser dividido em 3 passos:

  1. Configurar a conta do Twitter e criar um aplicativo para permitir posts automáticos;
  2. Fazer download da biblioteca Twitter4J;
  3. Desenvolver o programa java para “Tweetar”;

Vamos ao passo-a-passo?

1 – Configurar o Twitter

Para criar um aplicativo com permissões de leitura e escrita no Twitter é necessário incluir o seu número de celular na conta. Suspeito que internamente ele deva utilizar a API de publicação do celular (mensagens SMS) para permitir que outras aplicações façam o mesmo.

Para configurar um celular na sua conta
  1. Acesse sua conta do Twitter;
  2. Selecione a opção de Configurações, posicionada no ícone de uma engrenagem no canto superior direito da sua tela;
  3. No menu lateral esquerdo, selecione a opção Celular;
  4. Informe o número de celular e a operadora de telefonia;
  5. O Twitter solicitará que você envie uma mensagem (possivelmente a palavra VAI) para um determinado número;
    • DICA: A mensagem deve ser enviada do celular que será cadastrado;
  6. Assim que o serviço do Twitter detectar a mensagem enviada o celular será aceito;
    • DICA: Em alguns casos isso pode demorar, caso isso aconteça, faça o refresh na tela ou feche o browser e entre novamente na conta;

Configurado o Celular, o próximo passo é criar uma aplicação no Twitter, e para isso você deve acessar o site de desenvolvimento em dev.twitter.com.

Para criar uma aplicação

Faça o login no site de desenvolvimento e selecione a opção My application no ícone da sua conta, localizado no canto superior direito da sua tela.

Crie uma nova aplicação na opção Create New App e siga os seguintes passos:

  1. Preencha os campos Name, Description e Website, que neste caso servirão apenas para identificar sua aplicação;
    • DICA: O Website deve estar no formato http://www.meusite.com;
  2. Selecione a opção Yes, I Agree para o contrato de regras para o desenvolvedor;
  3. Clique em Create Your Twitter Aplication; 
    • Sua aplicação estará criada, no entanto é necessário configurá-la para permitir os Tweets automáticos;
  4. Selecione a opção Permissions;
  5. Selecione a opção Read and Write;
  6. Clique em Update settings;
    • Pode acontecer de demorar para atualizar a permissão (já tive caso de demorar 1 dia), aguarde!;
    • Faça um refresh na tela para garantir que houve a mudança de permissões;
  7. Selecione a opção API Keys;
  8. Ao final da página clique em Create my access token;

Pronto, sua aplicação está criada e pronta para realizar posts automaticamente. Anote os valores de API Key, API Secret, Access Token e Access Token Secret.

O próximo passo é fazer sua aplicação Java “Tweetar”. Para isso é necessário fazer o Downalod da biblioteca do Twitter4J.

2 – Twitter4J

A biblioteca pode ser obtida no próprio site do Twitter4J ou através do repositório do Maven.

Para fazer o download do arquivo JAR acesse a seção de downloads do Titter4J.

Caso prefira utilizar o MAVEN, você pode integrar a compilação mais recente Twitter4J apenas incluindo as seguintes linhas no seu pom.xml;

   <dependencies>
      <dependency>
           <groupId>org.twitter4j</groupId>
           <artifactId>twitter4j-core</artifactId>
           <version>[4.0,)</version>
       </dependency>
       ...
   </dependencies>

Feito o Download ou a configuração no arquivo pom.xml, podemos utilizar a biblioteca para fazer nossa aplicação postar automaticamente no Twitter.

3 – Tweetando

A seguir um código para fazer sua aplicação realizar posts automáticos no Twitter. O importante neste código é fornecer as chaves corretas da aplicação criada no Twitter.

Observe o código e compare:


  • Twitter ============= Biblioteca (Twitter4J)
  • API Key ============= OAuthConsumerKey
  • API Secret ===========OAuthConsumerSecret
  • Access Token ======== OAuthAccessToken
  • Access Token Secret == OAuthAccessTokenSecret
public static void main(String[] args) {
    String message = "Teste para Twitter" + new Date();
    try {
        ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(false)
            .setOAuthConsumerKey("xxxxxxxxxxxxxxxxxxxxxxxxx")
            .setOAuthConsumerSecret("yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy")
            .setOAuthAccessToken("999999999-zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz")
            .setOAuthAccessTokenSecret("kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
        TwitterFactory tf = new TwitterFactory(cb.build());
        Twitter twitter = tf.getInstance();
        try {
            // Lança IllegalStateException se o token de acesso estiver disponível
            twitter.getOAuthRequestToken();
            // Se não ocorrer significa que o acesso a conta não foi permitida
            System.out.println("Acesso Negado.");
        } catch (IllegalStateException ie) {
            // Verifica se possui autorização
            if (!twitter.getAuthorization().isEnabled()) {
                System.out.println("OAuth Consumer key/secret inválido.");
            } else {
                Status status = twitter.updateStatus(message);
                System.out.println("Tweet publicado! [" + status.getText() + "].");
            }
        }
    } catch (TwitterException te) {
        System.out.println("Falha ao obter a timeline: " + te.getMessage());
    }
}

Pronto, sua aplicação está preparada para “Tweetar”!!

Bons posts!!!

Se gostou, curte ai!!! Abraços!!!

Sobre o Autor

Graduado em Engenharia da Computação pela Universidade do Vale do Paraíba(2006), MBA em Gestão de Projetos pela Fundação Getúlio Vargas(2010) e Mestrado em Engenharia e Tecnologias Espaciais na área de Engenharia e Gerenciamento de Sistemas Espaciais pelo INPE(2013). Possuí experiência na área de Ciência da Computação e Engenharia da Computação, com ênfase em Engenharia de Software, Sistemas bancos de dados e automação.
É um grande apaixonado por tecnologia e assuntos relacionados.

Deixe uma resposta

Seu endereço de email não será publicado.