Acessando o Twitter via Delphi

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

Como acessar a API do Twitter via Delphi

Na onda das redes sociais a bola da vez é o Twitter.  Muito tem sido escrito e falado sobre esse serviço de microblogging que permite postagem de até 140 caracteres.

 

Até algumas empresas produtoras de software já estão utilizando em seus produtos algumas funcionalidades integradas com API’s do Twitter.

 

Neste artigo vou mostrar três maneiras de como você pode integrar de forma simples e rápida sua aplicação a esse serviço.

 

Primeira – abrir o Browser padrão do computador já com um endereço pré-definido, ou seja, a página do twitter que desejamos exibir.

 

Segunda – Utilizando um componente TwebBrowser para exibir a página do twitter dentro da aplicação.

 

Terceira – capturar em um arquivo XML a user_timeline de um usuário do twitter e mostrar a postagem mais recente como caption de um componente qualquer. No exemplo eu utilizo um Tpanel.

 

Então vamos lá ..... mãos à obra ....

 

Crie uma nova aplicação no delphi e insira os seguintes componentes:

 

3 TGroupBox

1 TRadioGroup

1 TButton

1 TPanel

1 TWebBrowser – paleta internet

1 TXMLDocument – paleta internet

 

Organize-os no form conforme a figura abaixo:

 

 

 

Altere o nome do TRadioGroup para rgOpcoes e adicione na propriedade items:

Twitter Box

Twitter Panel

Browser

 

 

Crie a função que vai verificar se existe conexão com a internet.

 

function TForm1.VerConexao: Boolean;

var dwConnectionTypes: DWORD;

begin

  dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY;

 

  Result := InternetGetConnectedState(@dwConnectionTypes, 0) and

            InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE or INTERNET_AUTODIAL_FORCE_UNATTENDED, 0);

 

end;

 

 

 

 

 

Crie a função que vai abrir o browser padrão do computador com o endereço desejado.

 

function TForm1.AbrirSite(const URL: string): Boolean;

begin

  try

   ShellExecute(Application.Handle, 'Open', PChar(URL), nil, nil, sw_ShowNormal);

   Result := true;

  except

   Result := false;

  end;

end;

 

 

 

Crie o método que vai carregar a user_timeline no arquivo XML e exibir os posts no caption do Tpanel.

 

procedure TForm1.CarregaPainel;

var

 xmlDoc: IXMLDocument;

 StartItemNode: IXMLNode;

 ANode: IXMLNode;

begin

   // Inicializa instancias

  try

   try

    xmlDoc :=     LoadXMLDocument('http://twitter.com/statuses/user_timeline/23418373.rss');

   except

    Exit;

   end;

 

   // Abre a URL

   xmlDoc.Active := True;

   StartItemNode := nil;

 

   try

    StartItemNode := XMLDoc.DocumentElement.ChildNodes.first.ChildNodes.FindNode('item');

    ANode := StartItemNode;

   except

    Exit;

   end;

 

   if not Assigned(ANode) then

    Exit;

 

   if ANode.ChildNodes.IndexOf('title') >= 0 then

    TwitterPanel.Caption := ANode.ChildNodes['title'].Text;

  finally

   // Limpa instancia

   xmlDoc := nil;

  end;

end;

 

 

 

Implemente o evento OnClick do Botão.

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if VerConexao then

   begin

 

    Case rgOpcoes.ItemIndex  of

     // Abre o Twitter no Box ...

     0: WebBrowserTwitter.Navigate('http://twitter.com/geversom');

 

     // Exibe a Mensagem do Twitter no caption do Panel ...

     1: CarregaPainel ;

 

     // Abre o Twitter no seu Browser Padrão ...

     2: AbrirSite('http://twitter.com/geversom');

 

    End;

 

   end;

 

end;

 

 

Deste ponto em diante você poderá usar a sua criatividade e implementar mais uma série de outras funcionalidades na sua aplicação utilizando a sua imaginação e os diversos recursos disponíveis nas API’s do Twitter (http://apiwiki.twitter.com/Twitter-API-Documentation)

 

Um grande abraço e até o próximo Artigo.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?