25
Desenvolvimento de Aplicações para o Facebook em ASP .NET Vítor Paulino http://netpont o.org 21ª Reunião Lisboa - 18/06/2011

Desenvolvimento de Aplicações para o Facebook em ASP .NET

Embed Size (px)

DESCRIPTION

Nesta apresentação, o Vítor irá mostrar como funciona a API do Facebook e os seus principais fluxos, as diferentes opções de bibliotecas para acesso a API, problemas mais comuns e soluções, com demonstrações práticas de como podemos desenvolver uma aplicação para o Facebook.

Citation preview

Desenvolvimento de Aplicações para o Facebook em ASP .NET

Vítor Paulino

http://netponto.org21ª Reunião Lisboa - 18/06/2011

Vítor Paulino

EuISEL

NetPonto

Copos & Jantas

Cliente A

Cliente B

Novabase

Agenda• Graph API• Registar uma aplicação• Autenticação• Aceder aos objectos• Frameworks

Também disponível em vídeo...

Assista!http://vimeo.com/25903038

Graph API

Graph API• Arquitectura REST– url / <identificação do objecto do grafo >? parâmetros

• Endpoints disponíveis – Aceder ao grafo : https://graph.facebook.com– Aceder à api https://api.facebook.com

• Pedidos em Batch• Representação dos dados : json

Registo da aplicação • Registo do url base da aplicação• Obtem-se– ApplicationID– APIKey– AppSecret

• Configurações de integração• Configurações de interacção da aplicação com o Facebook

Autenticação / Autorização

Registo de uma aplicação + autenticação e autorização

demonstração

Código-fonte disponível em:http://socialfacebook.codeplex.com/

Aceder aos objectos• 2 formas de aceder: – Ao grafo: https://graph.facebook.com/{0}• {0} : identificação do objecto e os seus paramêtros

– Ao repositório fisico dos objectos: https://api.facebook.com/method/fql.query?query={0}• {0} : query FQL

Aceder aos objectos• Ao grafo :

– url base : https://graph.facebook.com– Parameterizado com : • Graph id que queremos aceder: ex: /me/friends• Argumentos para obter informação desse objecto

– Access_token ( obrigatório ! ) – Conjunto de parâmetros especificos do objecto ( opcionais )

Aceder aos objectos• Acções disponiveis : – Autorização de acesso – Selecção– Pesquisa– Publicação – Delete – Paginação – Introspecção sobre os objectos do grafo– Analytics– Pedidos batch

Aceder aos objectos• FQL - Facebook Query Language – https://api.facebook.com/method/fql.query?query– Sintaxe semelhante ao SQL com algumas restrições:• Não é possivel usar queries com joins • Só é possivel referenciar uma tabela por query• Não se pode usar na cláusula where colunas que não sejam

indexaveis

Frameworks• Facebook C# SDK

Facebook Assembly

Facebook.Web Assembly

Facebook.Web.Mvc Assembly

Frameworks• Facebook C# SDK – exemplo:

var client = new FacebookClient(); dynamic me = client.Get("me"); string firstName = me.first_name; string lastName = me.last_name; string email = me.email;

Frameworks• Facebook C# SDK – exemplo:

var client = new FacebookClient("my_access_token"); dynamic parameters = new ExpandoObject(); parameters.message = "Check out this funny article"; parameters.link = "http://www.example.com/article.html"; parameters.picture = "http://www.example.com/article-

thumbnail.jpg";

dynamic result = client.Post("me/feed", parameters);

Frameworks - “My”Facebook SDK• Autenticação e Autorização

FbAuthenticationModule : IHttpModuleAuthenticationUtils

Web.Config

FacebookChannel IFacebookChannel

FacebookService : IFacebookService

FacebookConfig

Frameworks - “My”Facebook SDK

Infraestruturas

demonstração

Código-fonte disponível em:http://socialfacebook.codeplex.com/

Questões?

Referências

• Facebook Developers–http://developers.facebook.com

•Facebook Graph– http://caseorganic.com/blog/2010/12/tools-for-visualiz

ing-facebook-social-graphs/

Próximas reuniões presenciais

• 18/06/2011 – Junho• 09/07/2011 – Julho (Coimbra)• 23/07/2011 – Julho• 27/08/2011 – Agosto

Reserva estes dias na agenda! :)