php nas mídias sociais

45
Opa, como vai? Jota Júnior www.jotajunior.net [email protected] Exemplos de código desta palestra em: www.jotajunior.net/latinoware

Upload: jota-junior

Post on 08-Jul-2015

571 views

Category:

Technology


0 download

DESCRIPTION

Pal

TRANSCRIPT

Page 1: PHP nas Mídias Sociais

Opa, como vai?

Jota Júnior

www.jotajunior.net

[email protected]

Exemplos de código desta palestra em:www.jotajunior.net/latinoware

Page 2: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 3: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 4: PHP nas Mídias Sociais

E qual o nosso foco?

→ O Open Source da palestra é o PHP

→ Facebook e Twitter: principais para projetos comerciais e com mais usuários

Page 5: PHP nas Mídias Sociais

PHP nas Mídias Sociais

●Objetivo:→ Dar uma ideia do funcionamento de aplicativos

de redes sociais e as ferramentas disponíveis para isso;

●Não é objetivo:→ Torná-lo um mestre na programação nessa área

ou apresentar todas as formas de trabalhar

Page 6: PHP nas Mídias Sociais

Importância

→ Avaliada em mais de US$ 20 bilhões

→ Tendência e recurso interessante

Page 7: PHP nas Mídias Sociais

Ou seja...

$$$$$$$$$$$$$

Page 8: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 9: PHP nas Mídias Sociais

E como o PHP trabalha?

Redes oferecem interface, que permite uma comunicação padronizada entre a rede e os softwares que criamos; as APIs!

Objetivos das APIs:

→ Fornecer informações do usuário;

→ Oferecer informações de autenticação;

→ Permitir que manipule a conta do usuário

Page 10: PHP nas Mídias Sociais

E como o PHP trabalha?

Você está criando um aplicativo social!

Page 11: PHP nas Mídias Sociais

OAuth

OAuth (Open Authentication) é uma forma da mídia social conceder acesso ao software sem ceder informações críticas do usuário (senha);

Ao aceitar um aplicativo no Facebook, por exemplo, está fazendo uso do OAuth.

App key, app secret, access token e permissões.

Page 12: PHP nas Mídias Sociais

OAuth

Vantagens: Lidar de forma padrão com a rede social; Não solicitar informações críticas do usuário

(credibilidade).

Desvantagem: Limita o software a utilizar as informações da

forma que a rede social definir.

Page 13: PHP nas Mídias Sociais

OAuth

Page 14: PHP nas Mídias Sociais

Sempre há espaço para literatura

”Reduza ao máximo requisições às bibliotecas das redes sociais”

- Caio F. Abreu

Page 15: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 16: PHP nas Mídias Sociais

Interação PHP ↔ Twitter

Biblioteca theMattHarris (tmhOauth) muito satisfatória;

REST Api bem documentada e parecida com a do Facebook;

Documentação de fácil entendimento

( https://dev.twitter.com/docs/api )

Page 17: PHP nas Mídias Sociais

Interação PHP ↔ Twitter

Registrando o aplicativo:

Page 18: PHP nas Mídias Sociais

Interação PHP ↔ Twitter

Forma de autenticação:

Código pronto

Page 19: PHP nas Mídias Sociais

Interação PHP ↔ Twitter

Como lidar com os recursos disponíveis

Page 20: PHP nas Mídias Sociais

Interação PHP ↔ TwitterMais recursos disponíveis...

https://dev.twitter.com/docs/api/1.1

Page 21: PHP nas Mídias Sociais

Interação PHP ↔ Twitter

Exemplo consistente de implementação

Page 22: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 23: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 24: PHP nas Mídias Sociais

Interação PHP ↔ Facebook

Forma de lidar muito facilitada e padrão;

Extraordinariamente completa;

Existe o PHP SDK, Javascript SDK e ainda dá para fazer tudo através de requests a URLs do REST

Page 25: PHP nas Mídias Sociais

Interação PHP ↔ Facebook

Registrando o aplicativo: Vá em https://developers.facebook.com/apps e

clique em ”Create new app”.

Define o nome, domínio (só aceitará requests de lá), descrição e etc;

Page 26: PHP nas Mídias Sociais

Interação PHP ↔ Facebook

Como lidar com os recursos disponíveis

Utiliza a Graph Api ( graph.facebook.com )

Pode criar links, utilizando o file_get_contents(); Pode utilizar o PHP SDK, utilizando seus recursos próprios;Ou até requisições através de JS e plugins.

Acessando graph.facebook.com/zuck , retornará informações em json sobre o perfil de Mark Zuckerberg.

Page 27: PHP nas Mídias Sociais

Interação PHP ↔ Facebook

Diferenças das formas de interação:

→ Por Links:

→ Monta links que são chamados através de file_get_contents (precisa da função habilitada)

→ Precisa ter o access token gravado em algum lugar

→ Pelo PHP SDK:

→ Por utilizar uma biblioteca, levemente mais processamento

→ Solução mais padronizada

Page 28: PHP nas Mídias Sociais

Interação PHP ↔ Facebook

Qual a diferença?

Page 29: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 30: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (link)

Forma de autenticação (através de link)

Eu, de novo :(

Page 31: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (link)

Como lidar com os recursos disponíveis<?php

$objeto_com_informacoes = json_decode( file_get_contents(“http://graph.facebook.com/zuck”) );

?>

E é simples assim mesmo. Você pode acessar qualquer informação dessa forma: http://graph.facebook.com/OBJETO

Por exemplo, http://graph.facebook.com/coca-cola vai para a página da Coca-Cola (e se adicionar /picture , como manda a lógica, retorna a imagem oficial da página).

Page 32: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (link)

Como lidar com os recursos disponíveis Alguns necessitam do access token:

<?php

$link = ”https://graph.facebook.com/me/likes?access_token=TOKEN”;

$objeto = json_decode( file_get_contents( $link ) );

?>

Page 33: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (link)

Mais recursos disponíveis...Abaixo listarei a lista de exemplos do próprio Facebook, que pode ser encontrada (em inglês) em http://developers.facebook.com/docs/reference/api/

→ Acessando:

Amigos: https://graph.facebook.com/me/friends?access_token=...

Mural: https://graph.facebook.com/me/feed?access_token=...

→ Publicando:

https://graph.facebook.com/ID/OBJETO?access_token=TOKEN&method=post&PARAMS

Page 34: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (link)

Exemplo consistente de implementação

Page 35: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 36: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 37: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (SDK)

→ O Facebook disponibiliza SDKs oficias para facilitar o desenvolvimento nos softwares/linguagens JavaScript, PHP, iOS e Android.https://developers.facebook.com/docs/sdks/

→ O PHP SDK oferece uma forma padronizada e confiável de fazer requisições sem ficar montando links* Pegando informações do usuário

require_once('facebook.php');$config = array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', );

$facebook = new Facebook($config);

$user_profile = $facebook->api('/me','GET');

→ É necessário apenas o download de três arquivos de poucos kbytes!http://developers.facebook.com/docs/reference/php/download/

Chama o arquivo

Define id/senha do seu app

Instancia

Faz requisição!

Page 38: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (SDK) Utilização de métodos

Exemplo: Message( http://developers.facebook.com/docs/reference/api/message/ )

Page 39: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (SDK) Fazendo uma verificação completa:

Mais exemplos em http://developers.facebook.com/docs/reference/php/facebook-api/

Page 40: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 41: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (FQL)

O Facebook disponibiliza o FQL ( Facebook Query Language )

Requisições à API são feitas assim como SQL de Bancos de Dados! Omg!

Os objetos (feed, likes, message, etc) são como tabelas

Só suporta requisições GET (só existe o SELECT)

Suporta operadores lógicos (OR, AND) e outros recursos como IN clause

Page 42: PHP nas Mídias Sociais

Interação PHP ↔ Facebook (FQL)

Parte com FQL

Lista de tabelas e queries em:http://developers.facebook.com/docs/reference/fql/

Page 43: PHP nas Mídias Sociais

Tópicos Introdução

Conceitos

Twitter

Exemplos de código para Twitter

Introdução ao Facebook

Interação com Facebook através de links

Exemplos de código para FB e links

Interação com Facebook através de SDK

Interação com Facebook utilizando o FQL

Exemplos de código para FB com SDK e FQL

Page 44: PHP nas Mídias Sociais

DÚVIDAS

Page 45: PHP nas Mídias Sociais

MUITO OBRIGADO!

Palestra e códigos em http://jotajunior.net/latinoware