SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
     
Objetivos
●
     Fornecer uma visão geral sobre a API do Twitter
●
     Mostrar como é o processo de criação de uma 
     aplicação para o Twitter
●
     Exemplificar a criação de uma aplicação com a 
     lib TwitterTools através do “Oráculo de Zoltar”.

                   Faça sua pergunta sobre o futuro 
                   para @GreatZoltar (se tiver 
                   coragem!!!)

                    
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 
                   diversas finalidades, desde jogos até 
                   simples ”robôs”
              
                   Compartilhamento é a palavra chave
              
                   Integração de sites com redes sociais é 
                   tendência

                
     
2. Twitter no Brasil
            
                O Brasil é o terceiro entre os dez 
                países mais impactados pelo 
                Twitter
            
                Já na lista de países com mais 
                ”tuiteiros” em relação ao número 
                de pessoas com internet em 
                casa, o Brasil fica em segundo
            
                42,5% dos brasileiros que usam 
                o Twitter passam mais de 6 
                horas conectados por dia, em 
                média
             
*Dados da SuperInteressante
                             
3. Twitter API
     
         REST API
         
             Funcionalidades de usuário, tweets, dms etc
     
         Search API
         
             Busca em tempo real
     
         Streaming API
         
             Tweets em tempo real, para alto volume de uso
     
         Estatísticas de uso da API do Twitter:
         
             13 bilhões de reqs/dia, 150mil reqs/segundo

                          
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_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) já 
         nativos
     
         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 Principais
 
     User­related
     
         remainingCalls()
     
         getCredentials()
     
         checkConnections(users_logins)
     
         follow(user_login)
     
         unfollow(user_login)
     
         getFollowers([user_login,cursor])
     
         getFriends([user_login,cursor])
     
         getUsersInfo(users_ids)

                       
6.3 Métodos Principais
    
        Tweets­related
        
            update(msg[,inreplyto,autoshort])
        
            getTweet(id)
        
            getTimeline([limit])
        
            getMentions([limit])
        
            getRetweets([limit])
        
            getFavorites([page,limit])



                            
6.3 Métodos Principais
    
        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!
          @GreatZoltar                     última mention verificada

                                   
/* 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*/


Código completo: http://twittertools.in/2011/07/21/novo­demo­oraculo­de­zoltar/ 
                                 
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!
    contato: erika@erikaheidi.com




            

Mais conteúdo relacionado

Semelhante a Desenvolvimento de apps para o Twitter

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
 
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
 
Microblogging aula 03
Microblogging aula 03Microblogging aula 03
Microblogging aula 03Júlio Rocha
 
Palestra Fundação Roberto Marinho
Palestra Fundação Roberto MarinhoPalestra Fundação Roberto Marinho
Palestra Fundação Roberto MarinhoElis Monteiro
 
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
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisJorge Moisés Assis
 
Escola de Propaganda e Marketing - Belem - Curso Gestão de Rede Sociais - Mod...
Escola de Propaganda e Marketing - Belem - Curso Gestão de Rede Sociais - Mod...Escola de Propaganda e Marketing - Belem - Curso Gestão de Rede Sociais - Mod...
Escola de Propaganda e Marketing - Belem - Curso Gestão de Rede Sociais - Mod...Fernando Souza
 
Terceira parte do curso T&T
Terceira parte do curso T&TTerceira parte do curso T&T
Terceira parte do curso T&TElis Monteiro
 

Semelhante a Desenvolvimento de apps para o Twitter (20)

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
 
Twitter Nível 1
Twitter Nível 1Twitter Nível 1
Twitter Nível 1
 
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
 
Microblogging aula 03
Microblogging aula 03Microblogging aula 03
Microblogging aula 03
 
Palestra Fundação Roberto Marinho
Palestra Fundação Roberto MarinhoPalestra Fundação Roberto Marinho
Palestra Fundação Roberto Marinho
 
Twitter.pptx
Twitter.pptxTwitter.pptx
Twitter.pptx
 
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
 
Twitter
TwitterTwitter
Twitter
 
TweetMeToo (2010)
TweetMeToo (2010)TweetMeToo (2010)
TweetMeToo (2010)
 
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?
 
Api do twitter
Api do twitterApi do twitter
Api do twitter
 
Twitter
TwitterTwitter
Twitter
 
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
 
Slide Twitter
Slide TwitterSlide Twitter
Slide Twitter
 
Desenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos SociaisDesenvolvendo Aplicativos Sociais
Desenvolvendo Aplicativos Sociais
 
TweetAuditor
TweetAuditorTweetAuditor
TweetAuditor
 
Escola de Propaganda e Marketing - Belem - Curso Gestão de Rede Sociais - Mod...
Escola de Propaganda e Marketing - Belem - Curso Gestão de Rede Sociais - Mod...Escola de Propaganda e Marketing - Belem - Curso Gestão de Rede Sociais - Mod...
Escola de Propaganda e Marketing - Belem - Curso Gestão de Rede Sociais - Mod...
 
Terceira parte do curso T&T
Terceira parte do curso T&TTerceira parte do curso T&T
Terceira parte do curso T&T
 

Desenvolvimento de apps para o Twitter

  • 1.    
  • 2. Objetivos ●  Fornecer uma visão geral sobre a API do Twitter ●  Mostrar como é o processo de criação de uma  aplicação para o Twitter ●  Exemplificar a criação de uma aplicação com a  lib TwitterTools através do “Oráculo de Zoltar”. Faça sua pergunta sobre o futuro  para @GreatZoltar (se tiver  coragem!!!)    
  • 3. 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  diversas finalidades, desde jogos até  simples ”robôs”  Compartilhamento é a palavra chave  Integração de sites com redes sociais é  tendência    
  • 4.    
  • 5. 2. Twitter no Brasil  O Brasil é o terceiro entre os dez  países mais impactados pelo  Twitter  Já na lista de países com mais  ”tuiteiros” em relação ao número  de pessoas com internet em  casa, o Brasil fica em segundo  42,5% dos brasileiros que usam  o Twitter passam mais de 6  horas conectados por dia, em  média    
  • 7. 3. Twitter API  REST API  Funcionalidades de usuário, tweets, dms etc  Search API  Busca em tempo real  Streaming API  Tweets em tempo real, para alto volume de uso  Estatísticas de uso da API do Twitter:  13 bilhões de reqs/dia, 150mil reqs/segundo    
  • 8. 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    
  • 9. 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    
  • 10. 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    
  • 11. 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_secret    
  • 13.    
  • 14.    
  • 15.    
  • 16. 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)    
  • 17. 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) já  nativos  Possibilidade de extender com novas  funcionalidades    
  • 18. 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    
  • 19. 6.1 Retornos da API  Principais retornos  Objeto Usuário  Objeto Tweet  Objeto Timeline  Mensagens de erro    
  • 20. 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    
  • 21. 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] =>    
  • 22. 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     
  • 23. 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); }    
  • 24. 6.3 Métodos Principais  User­related  remainingCalls()  getCredentials()  checkConnections(users_logins)  follow(user_login)  unfollow(user_login)  getFollowers([user_login,cursor])  getFriends([user_login,cursor])  getUsersInfo(users_ids)    
  • 25. 6.3 Métodos Principais  Tweets­related  update(msg[,inreplyto,autoshort])  getTweet(id)  getTimeline([limit])  getMentions([limit])  getRetweets([limit])  getFavorites([page,limit])    
  • 26. 6.3 Métodos Principais  Public  getTrending()  search(query)  Chamada Genérica  makeRequest(api_url[,$args=null,$method='GET'])    
  • 27. 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! @GreatZoltar última mention verificada    
  • 28. /* 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*/ Código completo: http://twittertools.in/2011/07/21/novo­demo­oraculo­de­zoltar/     
  • 29. 8. Sites utilizando  TweetAuditor  Monitoramento e Estatísticas de contas Twitter  http://tweetauditor.in  TweetVote  Enquetes via Twitter  http://tweetvote.in    
  • 30. 9. Links  Site Oficial – documentação, demos, instruções  gerais  http://twittertools.in  Twittertools no GitHub  http://github.com/erikaheidi/Twittertools    
  • 31. OBRIGADO! contato: erika@erikaheidi.com