SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Twitter API


       ¿Qué es twitter?
Twitter API
       El API en números:
    1,000,000 de apps registradas
       750,000 desarrolladores
    Una nueva cada 1,5 segundos

    500.000.000$ en inversiones
Twitter API


      Ejemplos:
Twittervision
Portwiture
Helveti-tweet
favstar
stweet
BubbleTweet
Twitterfountain
twitpic
filesocial
Twitter API

       ¿Qué se puede hacer?

         Respuesta corta: TODO
 Respuesta larga: Tweet, mention, Rt , fav,
      (un)follow, búsquedas...
Twitter API
            ¿Cómo?
             2 APIs:

 RESTfull API (básico + búsquedas)


   STREAM API (en tiempo real)
Twitter API
        RESTful API

            Http
  GET, POST, PUT & DELETE
         Nombre = url
          Stateless
Twitter API

                      APIs
  Hay muchas api, para casi todos los lenguajes.
  (ActionScript/Flash,C++, Clojure, ColdFusion,
  Erlang, Java, JavaScript, .NET, Objective-C /
  Cocoa, Perl, PHP, Python, Ruby, Scala)

  Listado “oficial”
Twitter API

      Estado del API
Twitter API


    OAuth


Estandar abierto de
autentificación segura
Twitter API

         ¡Empezamos!


    dev.twitter.com/apps/new
Twitter API
        Librería del API en php


           github.com/abraham/twitteroauth
require_once("twitteroauth/twitteroauth.php");
Twitter API
        Oauth
Twitter API
Twitter API

                 redirect.php
Creamos con nuestros tokens una url para el user
Si todo sale bien le redirigimos a Twitter
Twitter API
                 callback.php
Verificamos la cuenta
Creamos el objeto $twitteroauth para “hablar” con Twitter
Redirigimos al usuario al index.php
Twitter API


   LEVEL 01
Twitter API
   Ya estamos autentificados y ¿ahora qué?



 dev.twitter.com/docs/api
ᄎ
Twitter API
                                    CURL

                    GET, POST, PUT, DELETE
                          Desde consola

curl --request 'POST' 'https://api.twitter.com/1/statuses/update.json' --data
'include_entities=true&status=Maybe+he%27ll+finally+find+his+keys.+%23peterfalk&trim_user=true'
--header 'Authorization: OAuth oauth_consumer_key="53a7EReUblablabla",
oauth_nonce="289e194fblablabla", oauth_signature="IAjVydC6RwORmi6GyXTbbblablabla",
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1331blablabla",
oauth_token="blablabla-dOWLcGMCYxA9HYS7dblablabla", oauth_version="1.0"' --verbose
Twitter API
    Empecemos con un
                           “Hola mundo”


  $twitteroauth->post('statuses/update', array('status' => '¡Hola mundo!'));
Twitter API
              Un poquito de Ajax

   Cliente           Server
                                     Twitter
   (AJAX)            (php)




             Comodidad al cliente
             Peticiones asíncronas
Twitter API

 $.post("ajax.php",
       { 
        accion: "update_status",
        texto: $("#tweet").val()
       },
      function(data){
          var result = JSON.parse(data);
          alert(result['result']);
          $("#tweet").val("");
 });
Twitter API
       Verificar & mostrar info del usuario:


        $user_info = $twitteroauth­>get('account/verify_credentials');
        $user_name = $user_info­>screen_name;
        $user_img = $user_info­>profile_image_url;
        $user_followers = $user_info­>followers_count;
        $user_following = $user_info­>friends_count;



        echo json_encode(array('user_name'=> $user_name,
                             'user_img'=> $user_img, 
                             'user_followers'=> $user_followers,           
                             'user_following'=>$user_following));
        break;
Twitter API
   GET statuses/home_timeline


     Veamos todos los posibles parámetros
            (todos son optativos):




   count, since_id, max_id, page, trim_user, include_rts,
    include_entities, exclude_replies, contributor_details
Twitter API
                  Timelines:
     Son colecciones de Tweet ordenados
       cronológicamente (+ reciente 1º)
   GET statuses/home_timeline
   GET statuses/mentions
   GET statuses/public_timeline
   GET statuses/retweeted_by_me
   GET statuses/retweeted_to_me
   GET statuses/retweets_of_me
   GET statuses/user_timeline
   GET statuses/retweeted_to_user
   GET statuses/retweeted_by_user
Twitter API
[
    {
    "coordinates": null,
    "favorited": false,
    "created_at": "Fri Jul 16 16:58:46 +0000 2010",



                                      Timelines:
    "truncated": false,
    "entities": {
      "urls": [],
      "hashtags": [],
      "user_mentions": [
        {
          "name": "Stephanie",
          "id": 15473839,
          "indices": [
            27,
            39
          ],
          "screen_name": "craftybeans"
        }
      ]
    },
    "text": "got a lovely surprise from @craftybeans. She sent me the best tshirt ever.
http://www.flickr.com/photos/cindyli/4799054041/ ::giggles::",
    "annotations": null,
    "contributors": null,
    "id": 18700887835,
    "geo": null,
    "in_reply_to_user_id": null,
    "place": null,
    "in_reply_to_screen_name": null,
    "user": {...},
    "source": "web",
    "in_reply_to_status_id": null
  },...
]
Twitter API


   LEVEL 02
Twitter API
                          Tweets:
Los tweets son construcciones atómincas de 140 caracteres más sus
                       meta-datos asociados


                      GET statuses/:id/retweeted_by
                      GET statuses/:id/retweeted_by/ids
                      GET statuses/retweets/:id
                      GET statuses/show/:id
                      POST statuses/destroy/:id
                      POST statuses/retweet/:id
                      POST statuses/update
                      POST
                      statuses/update_with_media
                      GET statuses/oembed new
Twitter API
                             Seach:
 q Query : Se pueden usar oparadores ( AND OR NOT ...)
 geocode
 lang
 locale
 Page: número de la hoja
 result_type
      mixed: Ambos dos.
      recent: devuelve los resultados más recientes
      popular: devuelve los resultados más “populares”
 Rpp: tweet x hoja
 show_user: usuario en el campo text: “user1: Hola mundo!”
 Until: fecha máxima
 since_id: fecha mínima
 include_entities: incluir metadatos de cada tweet.
Twitter API
                                   Seach:

búsqueda de twitter           conteniendo "búsqueda", "de" y "twitter".
"hora feliz"                  conteniendo la frase exacta "hora feliz".
odio OR amor                  conteniendo ya sea "odio" o "amor" (o las dos).
odio AND amor                 conteniendo tanto "odio" como "amor"
cerveza -raíz                 conteniendo "cerveza" pero no "raíz".
#haiku                        conteniendo la etiqueta "haiku".
@mashable                     haciendo referencia al usuario "mashable".
gracioso filter:links         conteniendo "gracioso" y conteniendo enlaces URLs.
noticias source:twitterfeed   conteniendo "noticias" y publicadas vía TwitterFeed
Twitter API
                       $twitteroauth->get('trends/woeid');

                               Yahoo Where On Earth ID
[
    {
        "created_at": "2010-07-15T22:31:11Z",
        "trends": [
          {
            "name": "Premios Juventud",
            "url": "http://search.twitter.com/search?q=Premios+Juventud",
            "query": "Premios+Juventud"
          },
          {
            "name": "#agoodrelationship",
            "url": "http://search.twitter.com/search?q=%23agoodrelationship",
            "query": "%23agoodrelationship"
          },
...
Twitter API


   LEVEL 03
Twitter API
                        RT:
$twitteroauth->post("statuses/retweet/".$id);
//hace un RT y devuelve el tweet con los metadatos
$twitteroauth->post("statuses/destroy/”.%id);
//borra el RT hecho anteriormente
$twitteroauth->post(" statuses/retweets/:id”.$id);
//muestra los 100 últimos RTs
Twitter API
                     Favorite:
$twitteroauth->post("favorites/create/".$id);
// “favoritea” dicho tweet
$twitteroauth->post("favorites/destroy/”.%id);
//borra el fav hecho anteriormente
$twitteroauth->post("favorites”);
//muestra los 20 últimos favs
Twitter API
                                                Follow
                         post('friendships/create', array('screen_name' => “Viroide”));


                                             Unfollow
                                            friendships/destroy


                                               Lookup
                                           friendships/lookup

[
{
       "name":"Mikel Trujillo",
       "connections": [following","followed_by"],
       "id_str":"29681201",
       "screen_name":"Gizakor","id":29681201
},
...]
Twitter API

     Y muchos más métodos:
  Direct Messages, Friends & Followers, Users,
  Suggested Users, Favorites, Lists, Accounts,
  Notification, Saved Searches, Places & Geo,
  Block, Spam Reporting, Help, Legal
Twitter API


   LEVEL 04
Twitter API
  STREAMING
Twitter API


  STREAMING
Twitter API
Streaming:
        Abre un socket permanente
      Puede buscar terminos o usuarios
  Hace falta implementar un sistema de colas

                   Límites:
   400 palabras a trackear, 5,000 usuarios



         TIEMPO REAL
Twitter API
Streaming:

 Métodos:

     statuses/filter
     statuses/firehose
     statuses/links
     statuses/retweet
     statuses/sample

 Documentación
Twitter API
Streaming:

 statuses/filter:
 URL: https://stream.twitter.com/1/statuses/filter.json
 Metodos: POST
 Parametros: count, delimited, follow, locations,
 track, stall_warnings
 Devuelve: stream de estados
Twitter API
Streaming:

 Usaremos la librería OauthPhirehose

 (No hay muchas más opciones en php)

 Si quieres hacerlo a mano: documentación
Twitter API
Streaming:
 Sobreescribimos el método:

 public function enqueueStatus($status)
 {

     $data = json_decode($status, true);
     if (is_array($data) && isset($data['user']['screen_name']))
     {
       $filePath = '/var/www/tweets/pila.tweet';
       file_put_contents($filePath, $status);
     }

 }
Twitter API

   LEVEL 05
       Final stage
WIIIIIIIIIN!!!
Twitter API

 GRACIAS POR VENIR
      PREGUNTAS
           O

         QUEJAS

Weitere ähnliche Inhalte

Ähnlich wie Twevelop

Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
equipo24
 
Desarrollo de Aplicaciones para Twitter - CWZGZ
Desarrollo de Aplicaciones para Twitter - CWZGZDesarrollo de Aplicaciones para Twitter - CWZGZ
Desarrollo de Aplicaciones para Twitter - CWZGZ
equipo24
 
Lorenzo Martínez - Cooking an APT in the paranoid way [RootedSatellite Valen...
Lorenzo Martínez  - Cooking an APT in the paranoid way [RootedSatellite Valen...Lorenzo Martínez  - Cooking an APT in the paranoid way [RootedSatellite Valen...
Lorenzo Martínez - Cooking an APT in the paranoid way [RootedSatellite Valen...
RootedCON
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.com
octabio
 

Ähnlich wie Twevelop (20)

APIs de medios sociales
APIs de medios socialesAPIs de medios sociales
APIs de medios sociales
 
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
Taller de Diseño y Desarrollo de Aplicaciones para Twitter - Congreso Interne...
 
Desarrollo de Aplicaciones para Twitter - CWZGZ
Desarrollo de Aplicaciones para Twitter - CWZGZDesarrollo de Aplicaciones para Twitter - CWZGZ
Desarrollo de Aplicaciones para Twitter - CWZGZ
 
Seguridad WEB - Principios básicos.
Seguridad WEB - Principios básicos.Seguridad WEB - Principios básicos.
Seguridad WEB - Principios básicos.
 
RESTful Para todos by Diego Sapriza
RESTful Para todos by Diego SaprizaRESTful Para todos by Diego Sapriza
RESTful Para todos by Diego Sapriza
 
APIs REST #devfestBilbao
APIs REST #devfestBilbaoAPIs REST #devfestBilbao
APIs REST #devfestBilbao
 
Splat - Programador PHP
Splat - Programador PHPSplat - Programador PHP
Splat - Programador PHP
 
Ruby twitter bot
Ruby twitter botRuby twitter bot
Ruby twitter bot
 
tog: Open Web, Social Networks y cintas de video
tog: Open Web, Social Networks y cintas de videotog: Open Web, Social Networks y cintas de video
tog: Open Web, Social Networks y cintas de video
 
Social chess clock
Social chess clockSocial chess clock
Social chess clock
 
Blogs y herramientas para el periodismo digital
Blogs y herramientas para el periodismo digitalBlogs y herramientas para el periodismo digital
Blogs y herramientas para el periodismo digital
 
Lorenzo Martínez - Cooking an APT in the paranoid way [RootedSatellite Valen...
Lorenzo Martínez  - Cooking an APT in the paranoid way [RootedSatellite Valen...Lorenzo Martínez  - Cooking an APT in the paranoid way [RootedSatellite Valen...
Lorenzo Martínez - Cooking an APT in the paranoid way [RootedSatellite Valen...
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.com
 
Twixer
TwixerTwixer
Twixer
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
REST - deSymfony2012
REST - deSymfony2012REST - deSymfony2012
REST - deSymfony2012
 
Desarrollando con APIs
Desarrollando con APIsDesarrollando con APIs
Desarrollando con APIs
 
Taller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSHTaller Android Party: Automatic API REST + Notificaciones PUSH
Taller Android Party: Automatic API REST + Notificaciones PUSH
 
Twitter
TwitterTwitter
Twitter
 
RAML
RAMLRAML
RAML
 

Kürzlich hochgeladen

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Twevelop

  • 1. Twitter API ¿Qué es twitter?
  • 2. Twitter API El API en números: 1,000,000 de apps registradas 750,000 desarrolladores Una nueva cada 1,5 segundos 500.000.000$ en inversiones
  • 3. Twitter API Ejemplos:
  • 13. Twitter API ¿Qué se puede hacer? Respuesta corta: TODO Respuesta larga: Tweet, mention, Rt , fav, (un)follow, búsquedas...
  • 14. Twitter API ¿Cómo? 2 APIs: RESTfull API (básico + búsquedas) STREAM API (en tiempo real)
  • 15. Twitter API RESTful API Http GET, POST, PUT & DELETE Nombre = url Stateless
  • 16. Twitter API APIs Hay muchas api, para casi todos los lenguajes. (ActionScript/Flash,C++, Clojure, ColdFusion, Erlang, Java, JavaScript, .NET, Objective-C / Cocoa, Perl, PHP, Python, Ruby, Scala) Listado “oficial”
  • 17. Twitter API Estado del API
  • 18. Twitter API OAuth Estandar abierto de autentificación segura
  • 19. Twitter API ¡Empezamos! dev.twitter.com/apps/new
  • 20. Twitter API Librería del API en php github.com/abraham/twitteroauth require_once("twitteroauth/twitteroauth.php");
  • 21. Twitter API Oauth
  • 23. Twitter API redirect.php Creamos con nuestros tokens una url para el user Si todo sale bien le redirigimos a Twitter
  • 24. Twitter API callback.php Verificamos la cuenta Creamos el objeto $twitteroauth para “hablar” con Twitter Redirigimos al usuario al index.php
  • 25. Twitter API LEVEL 01
  • 26. Twitter API Ya estamos autentificados y ¿ahora qué? dev.twitter.com/docs/api
  • 27.
  • 28. Twitter API CURL GET, POST, PUT, DELETE Desde consola curl --request 'POST' 'https://api.twitter.com/1/statuses/update.json' --data 'include_entities=true&status=Maybe+he%27ll+finally+find+his+keys.+%23peterfalk&trim_user=true' --header 'Authorization: OAuth oauth_consumer_key="53a7EReUblablabla", oauth_nonce="289e194fblablabla", oauth_signature="IAjVydC6RwORmi6GyXTbbblablabla", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1331blablabla", oauth_token="blablabla-dOWLcGMCYxA9HYS7dblablabla", oauth_version="1.0"' --verbose
  • 29. Twitter API Empecemos con un “Hola mundo” $twitteroauth->post('statuses/update', array('status' => '¡Hola mundo!'));
  • 30. Twitter API Un poquito de Ajax Cliente Server Twitter (AJAX) (php) Comodidad al cliente Peticiones asíncronas
  • 31. Twitter API $.post("ajax.php",       {    accion: "update_status",   texto: $("#tweet").val()       }, function(data){          var result = JSON.parse(data);          alert(result['result']);          $("#tweet").val(""); });
  • 32. Twitter API Verificar & mostrar info del usuario: $user_info = $twitteroauth­>get('account/verify_credentials');         $user_name = $user_info­>screen_name;         $user_img = $user_info­>profile_image_url;         $user_followers = $user_info­>followers_count;         $user_following = $user_info­>friends_count;         echo json_encode(array('user_name'=> $user_name,      'user_img'=> $user_img,                               'user_followers'=> $user_followers,               'user_following'=>$user_following));         break;
  • 33. Twitter API GET statuses/home_timeline Veamos todos los posibles parámetros (todos son optativos): count, since_id, max_id, page, trim_user, include_rts, include_entities, exclude_replies, contributor_details
  • 34. Twitter API Timelines: Son colecciones de Tweet ordenados cronológicamente (+ reciente 1º) GET statuses/home_timeline GET statuses/mentions GET statuses/public_timeline GET statuses/retweeted_by_me GET statuses/retweeted_to_me GET statuses/retweets_of_me GET statuses/user_timeline GET statuses/retweeted_to_user GET statuses/retweeted_by_user
  • 35. Twitter API [ { "coordinates": null, "favorited": false, "created_at": "Fri Jul 16 16:58:46 +0000 2010", Timelines: "truncated": false, "entities": { "urls": [], "hashtags": [], "user_mentions": [ { "name": "Stephanie", "id": 15473839, "indices": [ 27, 39 ], "screen_name": "craftybeans" } ] }, "text": "got a lovely surprise from @craftybeans. She sent me the best tshirt ever. http://www.flickr.com/photos/cindyli/4799054041/ ::giggles::", "annotations": null, "contributors": null, "id": 18700887835, "geo": null, "in_reply_to_user_id": null, "place": null, "in_reply_to_screen_name": null, "user": {...}, "source": "web", "in_reply_to_status_id": null },... ]
  • 36. Twitter API LEVEL 02
  • 37. Twitter API Tweets: Los tweets son construcciones atómincas de 140 caracteres más sus meta-datos asociados GET statuses/:id/retweeted_by GET statuses/:id/retweeted_by/ids GET statuses/retweets/:id GET statuses/show/:id POST statuses/destroy/:id POST statuses/retweet/:id POST statuses/update POST statuses/update_with_media GET statuses/oembed new
  • 38. Twitter API Seach: q Query : Se pueden usar oparadores ( AND OR NOT ...) geocode lang locale Page: número de la hoja result_type mixed: Ambos dos. recent: devuelve los resultados más recientes popular: devuelve los resultados más “populares” Rpp: tweet x hoja show_user: usuario en el campo text: “user1: Hola mundo!” Until: fecha máxima since_id: fecha mínima include_entities: incluir metadatos de cada tweet.
  • 39. Twitter API Seach: búsqueda de twitter conteniendo "búsqueda", "de" y "twitter". "hora feliz" conteniendo la frase exacta "hora feliz". odio OR amor conteniendo ya sea "odio" o "amor" (o las dos). odio AND amor conteniendo tanto "odio" como "amor" cerveza -raíz conteniendo "cerveza" pero no "raíz". #haiku conteniendo la etiqueta "haiku". @mashable haciendo referencia al usuario "mashable". gracioso filter:links conteniendo "gracioso" y conteniendo enlaces URLs. noticias source:twitterfeed conteniendo "noticias" y publicadas vía TwitterFeed
  • 40. Twitter API $twitteroauth->get('trends/woeid'); Yahoo Where On Earth ID [ { "created_at": "2010-07-15T22:31:11Z", "trends": [ { "name": "Premios Juventud", "url": "http://search.twitter.com/search?q=Premios+Juventud", "query": "Premios+Juventud" }, { "name": "#agoodrelationship", "url": "http://search.twitter.com/search?q=%23agoodrelationship", "query": "%23agoodrelationship" }, ...
  • 41. Twitter API LEVEL 03
  • 42. Twitter API RT: $twitteroauth->post("statuses/retweet/".$id); //hace un RT y devuelve el tweet con los metadatos $twitteroauth->post("statuses/destroy/”.%id); //borra el RT hecho anteriormente $twitteroauth->post(" statuses/retweets/:id”.$id); //muestra los 100 últimos RTs
  • 43. Twitter API Favorite: $twitteroauth->post("favorites/create/".$id); // “favoritea” dicho tweet $twitteroauth->post("favorites/destroy/”.%id); //borra el fav hecho anteriormente $twitteroauth->post("favorites”); //muestra los 20 últimos favs
  • 44. Twitter API Follow post('friendships/create', array('screen_name' => “Viroide”)); Unfollow friendships/destroy Lookup friendships/lookup [ { "name":"Mikel Trujillo", "connections": [following","followed_by"], "id_str":"29681201", "screen_name":"Gizakor","id":29681201 }, ...]
  • 45. Twitter API Y muchos más métodos: Direct Messages, Friends & Followers, Users, Suggested Users, Favorites, Lists, Accounts, Notification, Saved Searches, Places & Geo, Block, Spam Reporting, Help, Legal
  • 46. Twitter API LEVEL 04
  • 47. Twitter API STREAMING
  • 48. Twitter API STREAMING
  • 49. Twitter API Streaming: Abre un socket permanente Puede buscar terminos o usuarios Hace falta implementar un sistema de colas Límites: 400 palabras a trackear, 5,000 usuarios TIEMPO REAL
  • 50. Twitter API Streaming: Métodos: statuses/filter statuses/firehose statuses/links statuses/retweet statuses/sample Documentación
  • 51. Twitter API Streaming: statuses/filter: URL: https://stream.twitter.com/1/statuses/filter.json Metodos: POST Parametros: count, delimited, follow, locations, track, stall_warnings Devuelve: stream de estados
  • 52. Twitter API Streaming: Usaremos la librería OauthPhirehose (No hay muchas más opciones en php) Si quieres hacerlo a mano: documentación
  • 53. Twitter API Streaming: Sobreescribimos el método: public function enqueueStatus($status) { $data = json_decode($status, true); if (is_array($data) && isset($data['user']['screen_name'])) { $filePath = '/var/www/tweets/pila.tweet'; file_put_contents($filePath, $status); } }
  • 54. Twitter API LEVEL 05 Final stage
  • 56. Twitter API GRACIAS POR VENIR PREGUNTAS O QUEJAS