Integração com Redes Sociais – Parte 2- .Net Magazine 78

Será abordada a construção de um componente utilizando .NET Framework 4.0 e dois SDKs para a rede social Twitter.

Artigo no estilo: Curso

Do que trata o artigo

Será abordada a construção de um componente utilizando .NET Framework 4.0 e dois SDKs para a rede social Twitter. O objetivo é entender como podemos desenvolver um componente de forma a abstrair os conceitos da rede social, independentemente do SDK utilizado. Para isso utilizaremos a última versão do Unity, da Enterprise Library, para desacoplarmos qualquer dependência do componente com os SDKs. Também veremos como criar uma aplicação cliente simples, feita em WPF, que fica na Área de Notificação do Windows 7.

Para que serve

Para agilizar ou integrar recursos providos de um site de rede social que fornece uma API com estes serviços. A simplicidade de algumas redes sociais surpreendentemente amplia a possibilidade de uso por diversas áreas de ação pessoal e corporativa e ferramentas que aperfeiçoam o seu uso, e seguramente serão pré-requisitos para diversos sistemas no futuro.

Em que situação o tema é útil

Quando se quer construir uma ferramenta que utiliza ou produza informações publicadas ou publicáveis em uma rede social é imprescindível tanto usufruir de informações sobre SDKs disponíveis, uma vez que o desenvolvimento é simplificado e muito mais rápido que o acesso direto às APIs e a documentação em português muitas vezes é pobre ou inexistente.

Resumo do DevMan

Na segunda parte do mini-curso aplicaremos o que já fora explicado anteriormente para criarmos uma biblioteca customizada de serviços de redes sociais. Criaremos uma estrutura básica para comportar os serviços, e iremos melhorar a biblioteca aplicando alguns padrões de projetos (também conhecidos como design patterns). Utilizando o Unity 2.0 (a novíssima versão do container de injeção de dependência da Enterprise Library) veremos como podemos deixar a biblioteca flexível quanto ao SDK. Finalmente, criaremos uma pequena aplicação cliente feita em WPF explorando o Extension Manager do Visual Studio 2010 para utilizarmos um controle capaz de permanecer na Área de Notificação do Windows.

Na primeira parte deste mini-curso mostramos o processo necessário para utilização da API de duas das mais famosas redes sociais (Twitter e Flickr) através de algumas opções de SDKs. Obviamente, o número de frameworks e ferramentas para apoio à integração com redes sociais não param por aí. Na segunda parte avançaremos criando uma biblioteca de serviços de redes sociais. Daremos foco no Twitter, utilizando os SDKs já apresentados, contudo, os conceitos aqui apresentados podem ser utilizados para incrementar a biblioteca com outras APIs.

Para este mini-curso estamos utilizando, a título de exemplo, uma empresa fictícia chamada “Dantov Corp.”. Foi criada uma conta de e-mail no GMail e no Yahoo! para a empresa fictícia, sob a qual criaremos todos os serviços e também faremos o registro das aplicações em cada uma das redes sociais abordadas.

Relembrando o padrão OAuth

O OAuth é um padrão de protocolo aberto, muito utilizado por redes sociais e suas APIs. Resumidamente, ele permite que o usuário dê acesso a seus dados privados no site provedor do serviço (como o Twitter, Facebook etc), a outro site chamado de “consumidor”. Dessa forma, o OAuth pode ser utilizado para dar níveis de acesso padronizado, sem compartilhar o conteúdo confidencial. Esse contexto de uso é bastante útil para uso em redes sociais, pois garante a privacidade dos dados confidenciais do usuário.

Conforme podemos conferir na Figura 1, existe uma sequência de passos para que todo o processo de autenticação seja completado. Por ser um padrão aberto, o OAuth é utilizado por várias outras APIs das principais redes sociais. Com ele não é necessário expor as credenciais dos seus usuários através de possíveis bugs das aplicações (essa é uma preocupação bastante pertinente, especialmente considerando que muitas pessoas usam a mesma senha para vários serviços). Outra vantagem é que o usuário pode trocar a sua senha sem alterar o funcionamento da aplicação integradora.

Figura 1. Diagrama do fluxo de autenticação do OAuth

Quando falamos de desenvolvimento .NET utilizando o padrão OAuth, uma das principais bibliotecas utilizadas é o DotNet Open Auth (vide seção Links, no final do artigo). Ela encapsula todas as funcionalidades necessárias para realizarmos a autenticação com as APIs das redes sociais, facilitando o processo.

Nota

No primeiro artigo do mini-curso vimos como criar as chaves ConsumerKey e ConsumerSecret, base para o processo de autenticação via OAuth. Os valores utilizados nesse artigo para as duas chaves são meramente ilustrativos, portanto, será necessário obter suas próprias chaves para que o exemplo funcione corretamente.

Obtendo os SDKs para o Twitter no CodePlex

Para desenvolvermos os exemplos deste artigo utilizaremos dois SDKs (do inglês Software Development Kit, ou Kit de Desenvolvimento de Software) para o Twitter: O LinqToTwitter e o TweetSharp. Ambos estão disponíveis para download no CodePlex (vide seção Links, no final do artigo).

Lançado em maio de 2006 o CodePlex é um projeto open source para armazenamento e compartilhamento de códigos-fonte. O próprio fonte do CodePlex está disponível como um projeto do portal. Para controle e versionamento dos fontes dos projetos, o CodePlex utiliza o Team Foundation Server. Ele ainda conta com uma ferramenta de Wiki e outra de “issue tracking” que fornece os meios necessários para que outros usuários do CodePlex possam reportar os erros encontrados para os coordenadores de cada projeto.

Na primeira parte do mini-curso os dois SDKs foram detalhadamente explicados, portanto, em caso de dúvidas, esta é uma fonte apropriada para consulta (além, é claro, da documentação disponível no CodePlex).

Após realizar o download dos SDKs, descompacte o conteúdo em um diretório qualquer de sua máquina. Para o TweetSharp, precisaremos das DLLs disponibilizadas no diretório “TweetSharp\TweetSharp-Binaries\.NET 4.0\.NET Framework 4.0” a seguir:

Hammock.dll Newtonsoft.Json.dll TweetSharp.dll TweetSharp.Twitter.dll

Do LinqToTwitter, precisaremos das DLLs disponibilizadas no diretório “LinqToTwitter\LinqToTwitter\bin\Debug” a seguir:

DotNetOpenAuth.dll Kerr.Credentials.dll LinqToTwitter.dll

Nota

Para realizarmos a autenticação do componente com o Twitter via OAuth temos que utilizar a DLL DotNetOpenAuth, instalando-a no GAC (Global Assembly Cache). Poderíamos adicionar essa DLL como uma referência no projeto, mas fazendo desta forma compartilhamos a mesma para todas as aplicações construídas e instaladas que precisem dessa DLL."

[...] continue lendo...

Artigos relacionados