SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
1. Aplicativos Sociais
          
              O que são aplicativos sociais?
              
                  Aplicativos integrados a sites de redes
                  sociais, que se beneficiam de uma
                  estrutura existente através do uso de api's
                  e containers
              
                  Podem ser de vários tipos, com diferentes
                  níveis de imersão, com diversas
                  finalidades, desde jogos até simples
                  ”robôs”
              
                  Compartilhamento é a palavra chave
              
                  Integração de sites com redes sociais é
                  tendência
2. Alguns dados do Twitter

                                   
                                       Globalmente, é a segunda rede
                                       social mais acessada
                                   
                                       Na América Latina, é o quarto
                                       maior, com crescimento de 59%
                                       no último ano
                                   
                                       No Brasil também é o quarto, com
                                       12 milhões de visitantes.

Dados da ComScore, junho de 2011
Dados da SuperInteressante
Dezembro 2010
3. Twitter API
 
     REST API
     
         RW, ”direto do banco”, sem filtros
 
     Search API
     
         Read only, user quality filter + relevance and
         ranking filter, armazenados em cache
 
     Streaming API
     
         Read only, user quality filter, streaming tempo real.
 
     Estatísticas de uso da API do Twitter:
     
         13 bilhões de reqs/dia, 150mil reqs/segundo
3. Twitter API
3. Twitter API
 
     Autenticação
     
         OAuth – requisições assinadas
     
         Acesso orientado por usuário
     
         Tipos diferentes de acesso por aplicação
         (permissões)
     
         Aplicações não salvam senhas
     
         Usuários podem mudar suas senhas e as
         chaves (tokens) continuam válidas
3. Twitter API
 
     Limitações REST api
     
       350 chamadas/hora por
       usuário(chamadas autenticadas) ou
       IP(não autenticadas)
     
       ”limites naturais” para total de follows,
       unfollows, tweets e dm's por dia
     
       Tweets duplicados não são aceitos
4. Diferenças entre Aplicações

    A nível de Permissão (definido no registro)
    
        Somente Leitura (R)
    
        Leitura e Escrita (RW)
    
        Leitura, Escrita e DM's (RWD)

    A nível de Projeto
    
        Multi usuário, com ou sem persistência
    
        Usuário único

    A nível de Acesso
    
        Autenticada
    
        Não autenticada
5. Registrando uma aplicação
 
     Registro de Aplicação
     
       Antes de começar, é preciso cadastrar
       a aplicação em http://dev.twitter.com
     
       No formulário você define os dados da
       app e a sua url de callback
     
       Após o cadastro, você terá duas
       chaves: consumer_key e
       consumer_key_secret
5. Registrando uma aplicação
6. Lib TwitterTools
 
     Requisitos Básicos
     
         Servidor web externo com:
         − módulo Curl (libcurl)
         − allow_url_fopen ON (php.ini)
     
         consumer_key e consumer_secret
         (obtidos no registro da app)
6. Lib TwitterTools
 
     Benefícios
     
         Facilidade muito maior no processo de
         autenticação
     
         Métodos simples para as chamadas mais comuns
     
         Retorno em array
     
         Possibilidade de executar também chamadas
         complexas e bem específicas
     
         Encurtador de url e envio de imagens (twitpic)
     
         Possibilidade de extender com novas
         funcionalidades
6. Lib TwitterTools
 
     Checando estado
     
         Propriedade ”state”
         −   0 = não autenticado
         −   1 = acabou de autorizar a app e retornar
         −   2 = autenticado
 
     Conf. Api keys de terceiros
     
         TwitterTools::$bl_login
     
         TwitterTools::$bl_apikey
     
         TwitterTools::$twitpic_apikey
6.1 Retornos da API

 
     Principais retornos
     
         Objeto Usuário
     
         Objeto Tweet
     
         Objeto Timeline
     
         Mensagens de erro
6.1 Retornos da API: objeto User
[profile_background_image_url] =>
http://a2.twimg.com/profile_background_images/185716312/bg_tw.jpg
[protected] => 0
[statuses_count] => 7411
[location] => João Pessoa PB
[name] => Erika Heidi Focke
[listed_count] => 58
[url] => http://erikaheidi.com
[following] => 1
[description] => Desenvolvedora Web, recém formada em publicidade. Demasiado
interesse pelo estudo de redes sociais e suas influências. Criadora do
TweetAuditor.in
[created_at] => Tue Jan 27 23:55:15 +0000 2009
[id_str] => 19625601
[favourites_count] => 22
[profile_image_url] =>
http://a3.twimg.com/profile_images/1441955889/DSCF4643__normal.JPG
[id] => 19625601
[time_zone] => Brasilia
[friends_count] => 528
[followers_count] => 1126
[screen_name] => erikaheidi
6.1 Retornos da API: objeto Tweet
[user] => Array(objeto usuário)
[in_reply_to_status_id] =>
[in_reply_to_user_id] =>
[text] => Eu estou rindo muito com a confusão do @GreatZoltar!
[created_at] => Wed Jul 20 00:25:01 +0000 2011
[id_str] => 93476467735937024
[geo] =>
[favorited] =>
[id] => 93476467735937024
[in_reply_to_status_id_str] =>
[source] => TweetDeck
[coordinates] =>
[in_reply_to_screen_name] =>
[truncated] =>
[in_reply_to_user_id_str] =>
6.2 Exemplos
 
     Exemplo de código para obter 10 mentions
     recentes do usuário (modo ”robô”)

 $cskey = ”XYZ”;
 $cssecret = ”ABC”;
 $atoken = ”cde”;
 $atoken_secret = ”fgh”;
 $tw = new TwitterTools($cskey,$cssecret,$atoken,$atoken_secret);
 $mentions = $tw->getMentions(10);
 print_r($mentions);



 Retorno: Array com elementos do tipo ”Tweet”(array), incuindo o objeto do
 usuário(também em formato array). Exemplo: http://pastebin.com/TwSLPTUZ
6.2 Exemplos
 
     Com autenticação do usuário
 session_name("MyAPP");
 session_start();
 $cskey = ”XYZ”;
 $cssecret = ”ABC”;
 $tw = new TwitterTools($cskey,$cssecret);
 if(!$tw->state)
 {
       //exibir botão p/ logar
       $request_link = $tw->getAuthLink();
       echo '<p><a href="'.$request_link.'" title="sign in with
 your twitter account"><img src="img/sign-in-with-twitter-
 d.png" /></a></p>';
 }
 else
 {
      $mentions = $tw->getMentions(10);
      print_r($mentions);
 }
6.3 Métodos
 
     User-related
     
         remainingCalls()
     
         getCredentials()
     
         checkConnections(users_logins)
     
         isFollower(user_login)
     
         follow(user_login)
     
         unfollow(user_login)
     
         getFollowers([user_login,cursor])
     
         getFriends([user_login,cursor])
     
         getUsersInfo(users_ids)
6.3 Métodos
 
     Tweets-related
     
         update(msg[,inreplyto,autoshort])
     
         getTweet(id)
     
         getTimeline([limit])
     
         getMentions([limit])
     
         getRetweets([limit])
     
         getFavorites([page,limit])
6.3 Métodos
 
     Public
     
         getTrending()
     
         search(query)
 
     Chamada Genérica
     
         makeRequest(api_url[,$args=null,$method='GET'])
7. Exemplo: Oráculo de Zoltar
                                  
                                      Aplicativo ”robô” que
                                      responde perguntas de forma
                                      randômica
                                  
                                      Roda através do cron, a cada
                                      5 min
                                  
                                      Verifica novas mentions e se
                                      é uma pergunta (procura '?')
 http://twitter.com/GreatZoltar   
                                      Responde e salva o ID da
 Faça sua pergunta agora!             última mention verificada
      @GreatZoltar
/* inclui as libs e instancia o objeto twittertools */
/* cria um array com várias respostas */
/* obtém o ID da última mention verificada e faz uma chamada
específica para obter as mentions a partir daquele ID */

if($result) {
     foreach($result as $tweet) {
           if(!$lastid)
                $lastid = $tweet['id_str'];

           //pergunta?
           $pos = strpos($tweet['text'],'?');
           if($pos !== false) {
                //responde pergunta
                $rand = array_rand($answers);
                $tw->update("@".$tweet['user']['screen_name']."
".$answers[$rand],$tweet['id_str']);
           }
     }
}

/* salva o $lastid como o id da última mention verificada*/
8. Sites utilizando
 
     TweetAuditor
     
         Monitoramento e Estatísticas de contas Twitter
     
         http://tweetauditor.in
 
     TweetVote
     
         Enquetes via Twitter
     
         http://tweetvote.in
9. Links
 
     Site Oficial – documentação, demos, instruções
     gerais
     
         http://twittertools.in
 
     Twittertools no GitHub
     
         http://github.com/erikaheidi/Twittertools
OBRIGADO!
 erika@entrebits.com.br

Mais conteúdo relacionado

Destaque

E waste
E wasteE waste
E wastetgibs
 
Correcting Misconceptions on Mining Revenue Sharing in the Philippines
Correcting Misconceptions on Mining Revenue Sharing in the PhilippinesCorrecting Misconceptions on Mining Revenue Sharing in the Philippines
Correcting Misconceptions on Mining Revenue Sharing in the PhilippinesRonald Recidoro
 
First year german test
First year german testFirst year german test
First year german testhelen-mangan
 
Marcopper Boac River Update
Marcopper Boac River UpdateMarcopper Boac River Update
Marcopper Boac River UpdateRonald Recidoro
 
Why Video is a Must Have in Your Email Strategy
Why Video is a Must Have in Your Email StrategyWhy Video is a Must Have in Your Email Strategy
Why Video is a Must Have in Your Email Strategyreneechemel
 
The State and Prospects of the Philippine Mining Industry
The State and Prospects of the Philippine Mining IndustryThe State and Prospects of the Philippine Mining Industry
The State and Prospects of the Philippine Mining IndustryRonald Recidoro
 

Destaque (9)

E waste
E wasteE waste
E waste
 
Teste
TesteTeste
Teste
 
Correcting Misconceptions on Mining Revenue Sharing in the Philippines
Correcting Misconceptions on Mining Revenue Sharing in the PhilippinesCorrecting Misconceptions on Mining Revenue Sharing in the Philippines
Correcting Misconceptions on Mining Revenue Sharing in the Philippines
 
First year german test
First year german testFirst year german test
First year german test
 
Marcopper Boac River Update
Marcopper Boac River UpdateMarcopper Boac River Update
Marcopper Boac River Update
 
Wuthering heights
Wuthering heightsWuthering heights
Wuthering heights
 
Why Video is a Must Have in Your Email Strategy
Why Video is a Must Have in Your Email StrategyWhy Video is a Must Have in Your Email Strategy
Why Video is a Must Have in Your Email Strategy
 
Introduction to DirectX 11
Introduction to DirectX 11Introduction to DirectX 11
Introduction to DirectX 11
 
The State and Prospects of the Philippine Mining Industry
The State and Prospects of the Philippine Mining IndustryThe State and Prospects of the Philippine Mining Industry
The State and Prospects of the Philippine Mining Industry
 

Semelhante a Aplicativos Sociais no Twitter

Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookLuiz Arthur
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisJorge Moisés Assis
 
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014Tiago Marchetti Dolphine
 
apresentação do twitter,prezi e slide share
apresentação do twitter,prezi e slide shareapresentação do twitter,prezi e slide share
apresentação do twitter,prezi e slide shareFernanda Abreu
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduGuilherme
 
Mini curso redes sociais - IMD instituto Metrópole Digital
Mini curso redes sociais -  IMD instituto Metrópole DigitalMini curso redes sociais -  IMD instituto Metrópole Digital
Mini curso redes sociais - IMD instituto Metrópole DigitalKamila Joyce
 
Kingo Labs - O que fizemos em 2009?
Kingo Labs - O que fizemos em 2009?Kingo Labs - O que fizemos em 2009?
Kingo Labs - O que fizemos em 2009?Kingo Labs
 
Twitter - introdução aos usos e possibilidades
Twitter - introdução aos usos e possibilidadesTwitter - introdução aos usos e possibilidades
Twitter - introdução aos usos e possibilidadesPaperCliQ Comunicação
 
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...Francois Marier
 
Open Social + Perguntas
Open Social + PerguntasOpen Social + Perguntas
Open Social + Perguntasdmaiavieira
 
Usando tapioca para acessar APIs web [PyBR11]
Usando tapioca para acessar APIs web [PyBR11]Usando tapioca para acessar APIs web [PyBR11]
Usando tapioca para acessar APIs web [PyBR11]Filipe Ximenes
 

Semelhante a Aplicativos Sociais no Twitter (20)

Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e Facebook
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos Sociais
 
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014OAuth2: Uma abordagem para segurança de aplicações e APIs REST  - Devcamp 2014
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
 
apresentação do twitter,prezi e slide share
apresentação do twitter,prezi e slide shareapresentação do twitter,prezi e slide share
apresentação do twitter,prezi e slide share
 
Twicontro es
Twicontro esTwicontro es
Twicontro es
 
Aula III twitter
Aula III   twitterAula III   twitter
Aula III twitter
 
Api do twitter
Api do twitterApi do twitter
Api do twitter
 
Twitter
TwitterTwitter
Twitter
 
Api do twitter
Api do twitterApi do twitter
Api do twitter
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos Redu
 
Mini curso redes sociais - IMD instituto Metrópole Digital
Mini curso redes sociais -  IMD instituto Metrópole DigitalMini curso redes sociais -  IMD instituto Metrópole Digital
Mini curso redes sociais - IMD instituto Metrópole Digital
 
Os2
Os2Os2
Os2
 
Twitter Nível 1
Twitter Nível 1Twitter Nível 1
Twitter Nível 1
 
Kingo Labs - O que fizemos em 2009?
Kingo Labs - O que fizemos em 2009?Kingo Labs - O que fizemos em 2009?
Kingo Labs - O que fizemos em 2009?
 
Twitter - introdução aos usos e possibilidades
Twitter - introdução aos usos e possibilidadesTwitter - introdução aos usos e possibilidades
Twitter - introdução aos usos e possibilidades
 
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
 
Open Social + Perguntas
Open Social + PerguntasOpen Social + Perguntas
Open Social + Perguntas
 
Usando tapioca para acessar APIs web [PyBR11]
Usando tapioca para acessar APIs web [PyBR11]Usando tapioca para acessar APIs web [PyBR11]
Usando tapioca para acessar APIs web [PyBR11]
 
Slide Twitter
Slide TwitterSlide Twitter
Slide Twitter
 
Twitter.pptx
Twitter.pptxTwitter.pptx
Twitter.pptx
 

Aplicativos Sociais no Twitter

  • 1.
  • 2. 1. Aplicativos Sociais  O que são aplicativos sociais?  Aplicativos integrados a sites de redes sociais, que se beneficiam de uma estrutura existente através do uso de api's e containers  Podem ser de vários tipos, com diferentes níveis de imersão, com diversas finalidades, desde jogos até simples ”robôs”  Compartilhamento é a palavra chave  Integração de sites com redes sociais é tendência
  • 3. 2. Alguns dados do Twitter  Globalmente, é a segunda rede social mais acessada  Na América Latina, é o quarto maior, com crescimento de 59% no último ano  No Brasil também é o quarto, com 12 milhões de visitantes. Dados da ComScore, junho de 2011
  • 5. 3. Twitter API  REST API  RW, ”direto do banco”, sem filtros  Search API  Read only, user quality filter + relevance and ranking filter, armazenados em cache  Streaming API  Read only, user quality filter, streaming tempo real.  Estatísticas de uso da API do Twitter:  13 bilhões de reqs/dia, 150mil reqs/segundo
  • 7. 3. Twitter API  Autenticação  OAuth – requisições assinadas  Acesso orientado por usuário  Tipos diferentes de acesso por aplicação (permissões)  Aplicações não salvam senhas  Usuários podem mudar suas senhas e as chaves (tokens) continuam válidas
  • 8. 3. Twitter API  Limitações REST api  350 chamadas/hora por usuário(chamadas autenticadas) ou IP(não autenticadas)  ”limites naturais” para total de follows, unfollows, tweets e dm's por dia  Tweets duplicados não são aceitos
  • 9. 4. Diferenças entre Aplicações  A nível de Permissão (definido no registro)  Somente Leitura (R)  Leitura e Escrita (RW)  Leitura, Escrita e DM's (RWD)  A nível de Projeto  Multi usuário, com ou sem persistência  Usuário único  A nível de Acesso  Autenticada  Não autenticada
  • 10. 5. Registrando uma aplicação  Registro de Aplicação  Antes de começar, é preciso cadastrar a aplicação em http://dev.twitter.com  No formulário você define os dados da app e a sua url de callback  Após o cadastro, você terá duas chaves: consumer_key e consumer_key_secret
  • 11. 5. Registrando uma aplicação
  • 12.
  • 13.
  • 14.
  • 15. 6. Lib TwitterTools  Requisitos Básicos  Servidor web externo com: − módulo Curl (libcurl) − allow_url_fopen ON (php.ini)  consumer_key e consumer_secret (obtidos no registro da app)
  • 16. 6. Lib TwitterTools  Benefícios  Facilidade muito maior no processo de autenticação  Métodos simples para as chamadas mais comuns  Retorno em array  Possibilidade de executar também chamadas complexas e bem específicas  Encurtador de url e envio de imagens (twitpic)  Possibilidade de extender com novas funcionalidades
  • 17. 6. Lib TwitterTools  Checando estado  Propriedade ”state” − 0 = não autenticado − 1 = acabou de autorizar a app e retornar − 2 = autenticado  Conf. Api keys de terceiros  TwitterTools::$bl_login  TwitterTools::$bl_apikey  TwitterTools::$twitpic_apikey
  • 18. 6.1 Retornos da API  Principais retornos  Objeto Usuário  Objeto Tweet  Objeto Timeline  Mensagens de erro
  • 19. 6.1 Retornos da API: objeto User [profile_background_image_url] => http://a2.twimg.com/profile_background_images/185716312/bg_tw.jpg [protected] => 0 [statuses_count] => 7411 [location] => João Pessoa PB [name] => Erika Heidi Focke [listed_count] => 58 [url] => http://erikaheidi.com [following] => 1 [description] => Desenvolvedora Web, recém formada em publicidade. Demasiado interesse pelo estudo de redes sociais e suas influências. Criadora do TweetAuditor.in [created_at] => Tue Jan 27 23:55:15 +0000 2009 [id_str] => 19625601 [favourites_count] => 22 [profile_image_url] => http://a3.twimg.com/profile_images/1441955889/DSCF4643__normal.JPG [id] => 19625601 [time_zone] => Brasilia [friends_count] => 528 [followers_count] => 1126 [screen_name] => erikaheidi
  • 20. 6.1 Retornos da API: objeto Tweet [user] => Array(objeto usuário) [in_reply_to_status_id] => [in_reply_to_user_id] => [text] => Eu estou rindo muito com a confusão do @GreatZoltar! [created_at] => Wed Jul 20 00:25:01 +0000 2011 [id_str] => 93476467735937024 [geo] => [favorited] => [id] => 93476467735937024 [in_reply_to_status_id_str] => [source] => TweetDeck [coordinates] => [in_reply_to_screen_name] => [truncated] => [in_reply_to_user_id_str] =>
  • 21. 6.2 Exemplos  Exemplo de código para obter 10 mentions recentes do usuário (modo ”robô”) $cskey = ”XYZ”; $cssecret = ”ABC”; $atoken = ”cde”; $atoken_secret = ”fgh”; $tw = new TwitterTools($cskey,$cssecret,$atoken,$atoken_secret); $mentions = $tw->getMentions(10); print_r($mentions); Retorno: Array com elementos do tipo ”Tweet”(array), incuindo o objeto do usuário(também em formato array). Exemplo: http://pastebin.com/TwSLPTUZ
  • 22. 6.2 Exemplos  Com autenticação do usuário session_name("MyAPP"); session_start(); $cskey = ”XYZ”; $cssecret = ”ABC”; $tw = new TwitterTools($cskey,$cssecret); if(!$tw->state) { //exibir botão p/ logar $request_link = $tw->getAuthLink(); echo '<p><a href="'.$request_link.'" title="sign in with your twitter account"><img src="img/sign-in-with-twitter- d.png" /></a></p>'; } else { $mentions = $tw->getMentions(10); print_r($mentions); }
  • 23. 6.3 Métodos  User-related  remainingCalls()  getCredentials()  checkConnections(users_logins)  isFollower(user_login)  follow(user_login)  unfollow(user_login)  getFollowers([user_login,cursor])  getFriends([user_login,cursor])  getUsersInfo(users_ids)
  • 24. 6.3 Métodos  Tweets-related  update(msg[,inreplyto,autoshort])  getTweet(id)  getTimeline([limit])  getMentions([limit])  getRetweets([limit])  getFavorites([page,limit])
  • 25. 6.3 Métodos  Public  getTrending()  search(query)  Chamada Genérica  makeRequest(api_url[,$args=null,$method='GET'])
  • 26. 7. Exemplo: Oráculo de Zoltar  Aplicativo ”robô” que responde perguntas de forma randômica  Roda através do cron, a cada 5 min  Verifica novas mentions e se é uma pergunta (procura '?') http://twitter.com/GreatZoltar  Responde e salva o ID da Faça sua pergunta agora! última mention verificada @GreatZoltar
  • 27. /* inclui as libs e instancia o objeto twittertools */ /* cria um array com várias respostas */ /* obtém o ID da última mention verificada e faz uma chamada específica para obter as mentions a partir daquele ID */ if($result) { foreach($result as $tweet) { if(!$lastid) $lastid = $tweet['id_str']; //pergunta? $pos = strpos($tweet['text'],'?'); if($pos !== false) { //responde pergunta $rand = array_rand($answers); $tw->update("@".$tweet['user']['screen_name']." ".$answers[$rand],$tweet['id_str']); } } } /* salva o $lastid como o id da última mention verificada*/
  • 28. 8. Sites utilizando  TweetAuditor  Monitoramento e Estatísticas de contas Twitter  http://tweetauditor.in  TweetVote  Enquetes via Twitter  http://tweetvote.in
  • 29. 9. Links  Site Oficial – documentação, demos, instruções gerais  http://twittertools.in  Twittertools no GitHub  http://github.com/erikaheidi/Twittertools