ASP.NET: Trabalhando com a API do Twitter – Parte I (Exibindo mensagens do Twitter em uma página ASP.NET)

Postado por Daniel Garcia às 00:45 SEGUNDA-FEIRA, 23 DE NOVEMBRO DE 2009

Tenho visto que muitas pessoas vêm aderindo ao Twitter e que muitas ferramentas vêm sendo desenvolvidas em função disso.

Por isso, resolvi criar uma série de dicas que ajudarão aos desenvolvedores a desvendar os “macetes” de como trabalhar com a API do Twitter (http://apiwiki.twitter.com).

Nesta dica mostrarei como exibir as mensagens de seu Twitter em uma página ASP.NET de forma personalizada.

Como funciona?

1 – Criamos uma rotina que faz uma requisição ao serviço, informando como parâmetro o nome de usuário e a quantidade de mensagens que desejamos retornar. Com isso será retornado um XML contendo as mensagens deste usuário.

Daí então carregamos o XML em um DataSet para facilitar posteriormente a sua exibição.

Veja o código abaixo:

private DataSet RecuperarMensagens()
{
    
string usuario = "danielsgarcia";
    string quantidade = "3";
    string url; DataSet ds;

    try
   

        ds = new DataSet();
        url = string.Format("http://twitter.com/statuses/user_timeline.xml?screen_name={0}&count={1}", usuario, quantidade);

        System.Net. WebClient cliente = new System.Net.WebClient();

        System.IO.Stream stream = cliente.OpenRead(url);
        stream.Flush();

        ds.ReadXml(stream);

        return ds; 
    }
    catch (Exception ex)
    { 
        throw ex; 
    }
}

2 – O próximo passo é exibir os dados em sua página. Para isso eu utilizo um DataList, pois acho mais flexível na diagramação do layout. Porém podemos utilizar uma GridView ou outro controle.

Veja o a implementação do DataList no código da página:

    <form id="form1" runat="server">
    <div>
        <table cellpadding="0" cellspacing="0" width="300px">
            <tr>
                <td rowspan="2">
                    <asp:Image ID="ImageFoto" runat="server" />
                </td>
                <td>
                    Meu Twitter</td>
            </tr>
            <tr>
                <td>
                    <asp:HyperLink ID="HyperLinkNome" runat="server"></asp:HyperLink>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <asp:DataList ID="DataListMensagens" runat="server">
                        <SeparatorTemplate>
                            <hr />
                        </SeparatorTemplate>
                        <HeaderTemplate>
                            <hr />
                        </HeaderTemplate>
                        <FooterTemplate>
                            <hr />
                        </FooterTemplate>
                        <ItemTemplate>
                            <asp:Label ID="LabelData" runat="server" Text='<%# Eval("created_at") %>'></asp:Label>
                            <br />
                            <asp:Label ID="LabelMensagem" runat="server" Text='<%# Eval("text") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:DataList>
                </td>
            </tr>
        </table>
    </div>
    </form>

3 – Então, precisamos codificar uma rotina para exibição dos dados, conforme o método a seguir:

private void ExibirMensagens()

    string nomeExibicao;
    string urlImagem;
    DataSet ds;

    try
    {
        ds = this.RecuperarMensagens();

        nomeExibicao = ds.Tables["user"].Rows[0]["screen_name"].ToString();
        urlImagem = ds.Tables["user"].Rows[0]["profile_image_url"].ToString();

        ImageFoto.ImageUrl = urlImagem;
        HyperLinkNome.Text = "@" + nomeExibicao;
        HyperLinkNome.NavigateUrl = "http://twitter.com/" + nomeExibicao;

        DataListMensagens.DataSource = ds.Tables["status"];
        DataListMensagens.DataBind();
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

E para finalizar invocá-lo no evento Load da página:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
        this.ExibirMensagens();
}
 

Abaixo o resultado:

Espero que a dica seja útil.

Continuem acompanhando a série de post que farei sobre como trabalhar com a API do Twitter utilizando o ASP.NET.

Ah! Já ia me esquecendo! Siga-me no Twitter: http://twitter.com/danielsgarcia

3.8 ponto(s). Avaliado por 5 pessoas

  • Currently 3,8/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET

Comentários

Comentar


(Vai mostrar seu Gravatar)  

  Country flag

biuquote
  • Comentário
  • Pré-visualização
Loading



Sobre o Autor

Daniel Garcia - MCP, MCTS, MCPD
Meu nome é Daniel Garcia, venho atuando no mercado de tecnologia há mais de uma década. Durante esse tempo tive a oportunidade de trabalhar com diversas tecnologias, principalmente Microsoft. Conquistei os títulos: MCP, MCTS, MCDP e MCT. Desde então, venho contribuindo com toda a Comunidade, divulgando meu conhecimento das tecnologias Microsoft.