• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Twevelop
 

Twevelop

on

  • 1,464 views

 

Statistics

Views

Total Views
1,464
Views on SlideShare
1,361
Embed Views
103

Actions

Likes
2
Downloads
7
Comments
0

2 Embeds 103

http://127.0.0.1 101
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Twevelop Twevelop Presentation Transcript

    • 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 OAuthEstandar abierto deautentificación segura
    • Twitter API ¡Empezamos! dev.twitter.com/apps/new
    • Twitter API Librería del API en php github.com/abraham/twitteroauthrequire_once("twitteroauth/twitteroauth.php");
    • Twitter API Oauth
    • Twitter API
    • Twitter API redirect.phpCreamos con nuestros tokens una url para el userSi todo sale bien le redirigimos a Twitter
    • Twitter API callback.phpVerificamos la cuentaCreamos el objeto $twitteroauth para “hablar” con TwitterRedirigimos 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 consolacurl --request POST https://api.twitter.com/1/statuses/update.json --datainclude_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 APIStreaming: 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 APIStreaming: Métodos: statuses/filter statuses/firehose statuses/links statuses/retweet statuses/sample Documentación
    • Twitter APIStreaming: 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 APIStreaming: Usaremos la librería OauthPhirehose (No hay muchas más opciones en php) Si quieres hacerlo a mano: documentación
    • Twitter APIStreaming: 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