Saigon Wordpress Meetup - Do Less Work By Securing Your Wordpress Site From Hacker - Thomas
Twitter Meetup at the Hacker Dojo
-
Upload
matt-harris -
Category
Technology
-
view
109 -
download
0
description
Transcript of Twitter Meetup at the Hacker Dojo
![Page 1: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/1.jpg)
TM
1
![Page 2: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/2.jpg)
TM
What's Next & Big with Twitter
@hackerdojoJuly 1, 2010
#tmeetup @themattharris @raffi @hackerdojo
2
![Page 3: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/3.jpg)
TM
About us
3
![Page 4: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/4.jpg)
TM
The team
4
![Page 5: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/5.jpg)
TM
@themattharrisAbout us
5
![Page 6: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/6.jpg)
TM
@raffiAbout us
6
![Page 7: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/7.jpg)
TM
7
![Page 8: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/8.jpg)
TM
160,000
8
![Page 9: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/9.jpg)
TM
160,000Registered third-party Applications
9
![Page 10: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/10.jpg)
TM
75%
10
![Page 11: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/11.jpg)
TM
75%Traffic on Twitter comes from places outside of twitter.com
11
![Page 12: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/12.jpg)
TM
65 Million
12
![Page 13: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/13.jpg)
TM
65 MillionTweets per day
13
![Page 14: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/14.jpg)
TM
65%
14
![Page 15: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/15.jpg)
TM
65%Users are outside of the United States
15
![Page 16: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/16.jpg)
TM
3.5 Billion
16
![Page 17: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/17.jpg)
TM
3.5 BillionRequests per day to the API
17
![Page 18: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/18.jpg)
TM
2,928
18
![Page 19: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/19.jpg)
TM
2,928Tweets-per-second (June 14 2010, Brazil vs North Korea)
19
![Page 20: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/20.jpg)
TM
2,928 3,283Tweets-per-second (June 24 2010, Japan vs Denmark)
20
![Page 21: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/21.jpg)
TM
What is ? The Twitter Platform
21
![Page 22: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/22.jpg)
TM
What is ? ‣ REST API
‣ provides the “basic” Twitter functionality - tweet, follow, etc.
‣ all functions available on your timeline on twitter.com
‣ Search API
‣ real-time search index
‣ get “top tweets” / relevant search results
‣ Streaming API
‣ HTTP long-poll connection
‣ tweets come out of the system in real-time
22
![Page 23: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/23.jpg)
TM
The goals of ‣ To be ridiculously simple
‣ To be obvious
‣ To be self-describing
23
![Page 24: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/24.jpg)
TM
Authenticating to ‣ OAuth 1.0a
‣ Signing “write” requests
‣ Give Twitter visibility into the stack
‣ Applications don’t have the user’s username / password
‣ User can change password at any time
‣ User is secure in knowing his/her password is not stored
‣ User can revoke permissions to app at any time
‣ User has one place to see which applications have access to their account
24
![Page 25: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/25.jpg)
TM
twurl‣ http://github.com/marcel/twurl
‣ Command line tool to interact with using OAuth
‣ Transparently handles OAuth signing against
‣ POST and GET data
‣ Trace requests
25
![Page 26: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/26.jpg)
TM
Limits‣ 175 API calls/hour using OAuth against api.twitter.com
‣ Unauthenticated it goes against the source IP address
‣ Authenticated it goes against the calling user
‣ “Natural” limits on
‣ number of tweets sent
‣ number of DMs sent
‣ number of followings / unfollowings
‣ Status limits
‣ No duplicate tweets
‣ No malware links in tweets
26
![Page 27: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/27.jpg)
TM
@anywhere
27
![Page 28: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/28.jpg)
TM
Core Features‣ Hovercards
‣ Tweet Box
‣ Follow Buttons
‣ Linkify
28
![Page 29: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/29.jpg)
TM
Easiest Example<!DOCTYPE HTML><html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Anywhere Sample</title> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head> <body> <p>Some text with @twitter screen names in it.</p>
<div id="tweets"></div> <div id="tbox"></div> <span id="follow-placeholder"></span> </body></html>
29
![Page 30: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/30.jpg)
TM
Easiest Example
30
![Page 31: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/31.jpg)
TM
Easiest Example
<head> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head>
31
![Page 32: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/32.jpg)
TM
Easiest Example
<head> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head>
32
![Page 33: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/33.jpg)
TM
Easiest Example
<head> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head>
33
![Page 34: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/34.jpg)
TM
Easiest Example
<head> <script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"> </script> <script type="text/javascript"> twttr.anywhere(function(T) { T.hovercards(); T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox(); }); </script> </head>
34
![Page 35: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/35.jpg)
TM
Complex Example twttr.anywhere(function (T) { var currentUser, screenName, profileImage, profileImageTag;
var onLogin = function() { currentUser = T.currentUser; screenName = currentUser.data('screen_name'); profileImage = currentUser.data('profile_image_url'); profileImageTag = "<img src='" + profileImage + "'/>";
document.getElementById('connect-placeholder').innerHTML = "Logged in as " + profileImageTag + " @" + screenName; document.getElementById('tbox').style.display = 'block'; document.getElementById('follow-placeholder').style.display = 'block'; document.getElementById('signout').style.display = 'block';
T("#follow-placeholder").followButton('themattharris'); T("#tbox").tweetBox({ label: "Careful! This is a real tweet box.", defaultContent: "tweet tweet ", height: 300, width: 700 }); },
35
![Page 36: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/36.jpg)
TM
Complex Example cleanup = function() { document.getElementById('connect-placeholder').innerHTML = ''; document.getElementById('signout').style.display = 'none'; document.getElementById('tbox').style.display = 'none'; document.getElementById('follow-placeholder').style.display = 'none'; }, init = function() { if (T.isConnected()) { onLogin(); } else { T("#connect-placeholder").connectButton({ authComplete: function(user) { onLogin(); }, signOut: function() { cleanup(); init(); } }); } }; init(); T.hovercards({ expanded: true }); });
36
![Page 37: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/37.jpg)
TM
Easiest Example
37
![Page 38: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/38.jpg)
TM
More Info... Check outbit.ly/anywhere-begin
38
![Page 39: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/39.jpg)
TM
OAuthpocalypseThe day is 30th June 16th August 2010
39
![Page 40: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/40.jpg)
TM
What you need to know‣ All applications must be using OAuth for the REST API
‣ Streaming API will still support Basic Auth
‣ Search API has no auth
‣ OAuth key exchange for Open Source Applications
‣ Replace curl with twurl for debugging
http://dev.twitter.com/pages/auth_overview
http://github.com/marcel/twurl
40
![Page 41: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/41.jpg)
TM
OAuth Methods‣ Web must use three legged OAuth
‣ Desktop and mobile apps can also use out-of-band OAuth
‣ Some desktop and mobile apps will be considered for xAuth
41
![Page 42: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/42.jpg)
TM
xAuth not XAuth
xAuth is OAuth
http://dev.twitter.com/pages/xauth
42
![Page 43: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/43.jpg)
TM
Check your host!
api.twitter.com
twitter.com
43
![Page 44: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/44.jpg)
TM
Libraries
http://dev.twitter.com/pages/oauth_libraries
ActionScript/FlashC/C++C#/.NETClojureErlangJavaJavaScript
Objective-C/Cocoa & iPhone ProgrammingPerlPHPPythonQtRubyScala
44
![Page 45: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/45.jpg)
TM
OAuth Echo
45
![Page 46: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/46.jpg)
TM
‣ Delegation for Identity Verification
‣ Pass the header needed for an application to confirm your identify with Twitter
OAuth Echo
46
![Page 47: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/47.jpg)
TM
Services offering it‣ yFrog
‣ TwitPic
‣ TwitVid
‣ TweetPhoto
‣ Mobypicture
‣ Twitgoo
‣ Posterous
‣ img.ly
‣ Vodpod
47
![Page 48: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/48.jpg)
TM
Geo
48
![Page 49: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/49.jpg)
TM
Endpoints‣ /1/geo/search
‣ /1/geo/similar_places
‣ /1/geo/reverse_geocode
‣ /1/geo/id/:id
‣ /1/geo/place
49
![Page 50: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/50.jpg)
TM
/1/geo/search‣ Find places to use in status updates
‣ Search by lat, long, IP or free-form name. Also search by attribute.
‣ Limit to poi, neighborhood, city, admin or country
‣ Find only places within another if desired
‣ Set a callback
‣ Use authorisation to bias ordering to the users location history
http://api.twitter.com/1/geo/search.json
50
![Page 51: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/51.jpg)
TM
http://api.twitter.com/1/geo/similar_places.json
/1/geo/similar_places‣ Find places to use in status updates
‣ Search by lat, long, free-form name. Also search by attribute.
‣ Find only places within another if desired
‣ Set a callback
‣ Search by attribute
51
![Page 52: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/52.jpg)
TM
/1/geo/similar_places‣ Must make this call before creating a place
‣ Returns a creation token
http://api.twitter.com/1/geo/similar_places.json
52
![Page 53: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/53.jpg)
TM
http://api.twitter.com/1/geo/reverse_geocode.json
/1/geo/reverse_geocode‣ Find 20 places around the provided lat, long
‣ Limit to poi, neighborhood, city, admin or country
‣ Set a callback
‣ /geo/search is better
53
![Page 54: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/54.jpg)
TM
http://api.twitter.com/1/geo/id/:id
/1/geo/id/:id‣ Information on a place
‣ :id from /geo/search methods
54
![Page 55: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/55.jpg)
TM
http://api.twitter.com/1/geo/place
/1/geo/place‣ create a place
‣ must have
‣ name
‣ contained_within - place_id of another place, e.g. city
‣ token
‣ lat, long
‣ Set a callback
55
![Page 56: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/56.jpg)
TM
Create a place - the flow‣ /1/geo/search
‣ show what’s nearby
‣ /1/geo/similar_places
‣ not found in search, find by name
‣ /1/geo/place
‣ still not found, create a new place
http://api.twitter.com/1/geo/place
56
![Page 57: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/57.jpg)
TM
Use in search‣ just pass place:place_id
http://search.twitter.com/search?q=place%3A247f43d441defc03
57
![Page 58: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/58.jpg)
TM
Attributes { "name": "Twitter HQ", "polylines": [
], "country_code": "US", "country": "The United States of America", "attributes": { "street_address": "795 Folsom St", "1166:id": "49547", "623:id": "210176" }, "url": "http://api.twitter.com/1/geo/id/247f43d441defc03.json", "id": "247f43d441defc03",}
58
![Page 59: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/59.jpg)
TM
Timelines
59
![Page 60: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/60.jpg)
TM
Timeline Endpoints‣ /1/statuses/public_timeline
‣ /1/statuses/home_timeline
‣ /1/statuses/friends_timeline
‣ /1/statuses/status_timeline
‣ /1/statuses/mentions
‣ /1/statuses/retweeted_by_me
‣ /1/statuses/retweeted_to_me
‣ /1/statuses/retweets_of_me
60
![Page 61: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/61.jpg)
TM
Modifiers‣ include_rts
Accepted values: true, 1, t
61
![Page 62: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/62.jpg)
TM
Modifiers‣ include_rts
‣ include_entities
Accepted values: true, 1, t
62
![Page 63: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/63.jpg)
TM
Modifiers‣ include_rts
‣ include_entities
‣ trim_user
Accepted values: true, 1, t
63
![Page 64: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/64.jpg)
TM
What is a Tweet?The anatomy of a status update
64
![Page 65: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/65.jpg)
TM
Dissecting a status object
{"id"=>12296272736,
"text"=>
"An early look at Annotations:
http://groups.google.com/group/twitter-api-announce/browse_thread/thread/fa5da2608865453",
"created_at"=>"Fri Apr 16 17:55:46 +0000 2010",
"in_reply_to_user_id"=>nil,
"in_reply_to_screen_name"=>nil,
"in_reply_to_status_id"=>nil
"favorited"=>false,
"truncated"=>false,
"user"=>
{"id"=>6253282,
"screen_name"=>"twitterapi",
"name"=>"Twitter API",
"description"=>
"The Real Twitter API. I tweet about API changes, service issues and
happily answer questions about Twitter and our API. Don't get an answer? It's on my website.",
"url"=>"http://apiwiki.twitter.com",
"location"=>"San Francisco, CA",
"profile_background_color"=>"c1dfee",
"profile_background_image_url"=>
"http://a3.twimg.com/profile_background_images/59931895/twitterapi-background-new.png",
"profile_background_tile"=>false,
"profile_image_url"=>"http://a3.twimg.com/profile_images/689684365/api_normal.png",
"profile_link_color"=>"0000ff",
"profile_sidebar_border_color"=>"87bc44",
"profile_sidebar_fill_color"=>"e0ff92",
"profile_text_color"=>"000000",
"created_at"=>"Wed May 23 06:01:13 +0000 2007",
"contributors_enabled"=>true,
"favourites_count"=>1,
"statuses_count"=>1628,
"friends_count"=>13,
"time_zone"=>"Pacific Time (US & Canada)",
"utc_offset"=>-28800,
"lang"=>"en",
"protected"=>false,
"followers_count"=>100581,
"geo_enabled"=>true,
"notifications"=>false,
"following"=>true,
"verified"=>true},
"contributors"=>[3191321],
"geo"=>nil,
"coordinates"=>nil,
"place"=>
{"id"=>"2b6ff8c22edd9576",
"url"=>"http://api.twitter.com/1/geo/id/2b6ff8c22edd9576.json",
"name"=>"SoMa",
"full_name"=>"SoMa, San Francisco",
"place_type"=>"neighborhood",
"country_code"=>"US",
"country"=>"The United States of America",
"bounding_box"=>
{"coordinates"=>
[[[-122.42284884, 37.76893497],
[-122.3964, 37.76893497],
[-122.3964, 37.78752897],
[-122.42284884, 37.78752897]]],
"type"=>"Polygon"}},
"source"=>"web"}
The tweet's unique ID. These
IDs are roughly sorted &
developers should treat them
as opaque (http://bit.ly/dCkppc).
Text of the tweet.
Consecutive duplicate tweets
are rejected. 140 character
max (http://bit.ly/4ud3he).
Tweet's
creation
date.
DE
PR
EC
AT
ED
The ID of an existing tweet that
this tweet is in reply to. Won't
be set unless the author of the
referenced tweet is mentioned.The screen name &
user ID of replied to
tweet author. Truncated to 140
characters. Only
possible from SMS.
The a
uth
or
of th
e tw
eet. T
his
em
bedded o
bje
ct can g
et out of sync.
The a
uth
or's
user
ID.
The author's
user name.
The author's
screen name.
The author's
biography.
The author's
URL.The author's "location". This is a free-form text field, and
there are no guarantees on whether it can be geocoded.
Rendering information
for the author. Colors
are encoded in hex
values (RGB).The creation date
for this account.Whether this account has
contributors enabled
(http://bit.ly/50npuu). Number of
favorites this
user has.
Num
ber
of tw
eets
this
user
has.
Number of
users this user
is following.The timezone and offset
(in seconds) for this user.
The user's selected
language.
Whether this user is protected
or not. If the user is protected,
then this tweet is not visible
except to "friends".
Number of
followers for
this user.
Wheth
er
this
user
has g
eo
enable
d (
http://b
it.ly/4
pF
Y77).
DEPRECATED
in this context
Whether this user
has a verified badge.
The g
eo tag o
n this
tw
eet in
GeoJS
ON
(http://b
it.ly/b
8L1C
p).
The contributors' (if any) user
IDs (http://bit.ly/50npuu).
DEPRECATED
The place associated with this
Tweet (http://bit.ly/b8L1Cp).
The place ID
The URL to fetch a detailed
polygon for this placeThe printable names of this place
The type of this
place - can be a
"neighborhood"
or "city"
The country this place is in
The bounding
box for this
place
The application
that sent this
tweetMap of a Twitter Status Object
Raffi Krikorian <[email protected]>18 April 2010
65
![Page 66: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/66.jpg)
TM
{"id"=>12296272736,
"text"=>
"An early look at Annotations:
http://groups.google.com/group/twitter-api-announce/browse_thread/thread/fa5da2608865453",
"created_at"=>"Fri Apr 16 17:55:46 +0000 2010",
"in_reply_to_user_id"=>nil,
"in_reply_to_screen_name"=>nil,
"in_reply_to_status_id"=>nil
"favorited"=>false,
"truncated"=>false,
"user"=>
{"id"=>6253282,
"screen_name"=>"twitterapi",
"name"=>"Twitter API",
"description"=>
"The Real Twitter API. I tweet about API changes, service issues and
happily answer questions about Twitter and our API. Don't get an answer? It's on my website.",
"url"=>"http://apiwiki.twitter.com",
"location"=>"San Francisco, CA",
"profile_background_color"=>"c1dfee",
"profile_background_image_url"=>
"http://a3.twimg.com/profile_background_images/59931895/twitterapi-background-new.png",
"profile_background_tile"=>false,
"profile_image_url"=>"http://a3.twimg.com/profile_images/689684365/api_normal.png",
"profile_link_color"=>"0000ff",
"profile_sidebar_border_color"=>"87bc44",
"profile_sidebar_fill_color"=>"e0ff92",
"profile_text_color"=>"000000",
"created_at"=>"Wed May 23 06:01:13 +0000 2007",
"contributors_enabled"=>true,
"favourites_count"=>1,
"statuses_count"=>1628,
"friends_count"=>13,
"time_zone"=>"Pacific Time (US & Canada)",
"utc_offset"=>-28800,
"lang"=>"en",
"protected"=>false,
"followers_count"=>100581,
"geo_enabled"=>true,
"notifications"=>false,
"following"=>true,
"verified"=>true},
"contributors"=>[3191321],
"geo"=>nil,
"coordinates"=>nil,
"place"=>
{"id"=>"2b6ff8c22edd9576",
"url"=>"http://api.twitter.com/1/geo/id/2b6ff8c22edd9576.json",
"name"=>"SoMa",
"full_name"=>"SoMa, San Francisco",
"place_type"=>"neighborhood",
"country_code"=>"US",
"country"=>"The United States of America",
"bounding_box"=>
{"coordinates"=>
[[[-122.42284884, 37.76893497],
[-122.3964, 37.76893497],
[-122.3964, 37.78752897],
[-122.42284884, 37.78752897]]],
"type"=>"Polygon"}},
"source"=>"web"}
The tweet's unique ID. These
IDs are roughly sorted &
developers should treat them
as opaque (http://bit.ly/dCkppc).
Text of the tweet.
Consecutive duplicate tweets
are rejected. 140 character
max (http://bit.ly/4ud3he).
Tweet's
creation
date.
DE
PR
EC
AT
ED
The ID of an existing tweet that
this tweet is in reply to. Won't
be set unless the author of the
referenced tweet is mentioned.The screen name &
user ID of replied to
tweet author. Truncated to 140
characters. Only
possible from SMS.
The a
uth
or
of th
e tw
eet. T
his
em
bedded o
bje
ct can g
et out of sync.
The a
uth
or's
user
ID.
The author's
user name.
The author's
screen name.
The author's
biography.
The author's
URL.The author's "location". This is a free-form text field, and
there are no guarantees on whether it can be geocoded.
Rendering information
for the author. Colors
are encoded in hex
values (RGB).The creation date
for this account.Whether this account has
contributors enabled
(http://bit.ly/50npuu). Number of
favorites this
user has.
Num
ber
of tw
eets
this
user
has.
Number of
users this user
is following.The timezone and offset
(in seconds) for this user.
The user's selected
language.
Whether this user is protected
or not. If the user is protected,
then this tweet is not visible
except to "friends".
Number of
followers for
this user.
Wheth
er
this
user
has g
eo
enable
d (
http://b
it.ly/4
pF
Y77).
DEPRECATED
in this context
Whether this user
has a verified badge.
The g
eo tag o
n this
tw
eet in
GeoJS
ON
(http://b
it.ly/b
8L1C
p).
The contributors' (if any) user
IDs (http://bit.ly/50npuu).
DEPRECATED
The place associated with this
Tweet (http://bit.ly/b8L1Cp).
The place ID
The URL to fetch a detailed
polygon for this placeThe printable names of this place
The type of this
place - can be a
"neighborhood"
or "city"
The country this place is in
The bounding
box for this
place
The application
that sent this
tweetMap of a Twitter Status Object
Raffi Krikorian <[email protected]>18 April 2010
Dissecting a status object
66
![Page 67: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/67.jpg)
TM
{"id"=>12296272736,
"text"=>
"An early look at Annotations:
http://groups.google.com/group/twitter-api-announce/browse_thread/thread/fa5da2608865453",
"created_at"=>"Fri Apr 16 17:55:46 +0000 2010",
"in_reply_to_user_id"=>nil,
"in_reply_to_screen_name"=>nil,
"in_reply_to_status_id"=>nil
"favorited"=>false,
"truncated"=>false,
"user"=>
{"id"=>6253282,
"screen_name"=>"twitterapi",
"name"=>"Twitter API",
"description"=>
"The Real Twitter API. I tweet about API changes, service issues and
happily answer questions about Twitter and our API. Don't get an answer? It's on my website.",
"url"=>"http://apiwiki.twitter.com",
"location"=>"San Francisco, CA",
"profile_background_color"=>"c1dfee",
"profile_background_image_url"=>
"http://a3.twimg.com/profile_background_images/59931895/twitterapi-background-new.png",
"profile_background_tile"=>false,
"profile_image_url"=>"http://a3.twimg.com/profile_images/689684365/api_normal.png",
"profile_link_color"=>"0000ff",
"profile_sidebar_border_color"=>"87bc44",
"profile_sidebar_fill_color"=>"e0ff92",
"profile_text_color"=>"000000",
"created_at"=>"Wed May 23 06:01:13 +0000 2007",
"contributors_enabled"=>true,
"favourites_count"=>1,
"statuses_count"=>1628,
"friends_count"=>13,
"time_zone"=>"Pacific Time (US & Canada)",
"utc_offset"=>-28800,
"lang"=>"en",
"protected"=>false,
"followers_count"=>100581,
"geo_enabled"=>true,
"notifications"=>false,
"following"=>true,
"verified"=>true},
"contributors"=>[3191321],
"geo"=>nil,
"coordinates"=>nil,
"place"=>
{"id"=>"2b6ff8c22edd9576",
"url"=>"http://api.twitter.com/1/geo/id/2b6ff8c22edd9576.json",
"name"=>"SoMa",
"full_name"=>"SoMa, San Francisco",
"place_type"=>"neighborhood",
"country_code"=>"US",
"country"=>"The United States of America",
"bounding_box"=>
{"coordinates"=>
[[[-122.42284884, 37.76893497],
[-122.3964, 37.76893497],
[-122.3964, 37.78752897],
[-122.42284884, 37.78752897]]],
"type"=>"Polygon"}},
"source"=>"web"}
The tweet's unique ID. These
IDs are roughly sorted &
developers should treat them
as opaque (http://bit.ly/dCkppc).
Text of the tweet.
Consecutive duplicate tweets
are rejected. 140 character
max (http://bit.ly/4ud3he).
Tweet's
creation
date.
DE
PR
EC
AT
ED
The ID of an existing tweet that
this tweet is in reply to. Won't
be set unless the author of the
referenced tweet is mentioned.The screen name &
user ID of replied to
tweet author. Truncated to 140
characters. Only
possible from SMS.
Th
e a
uth
or
of
the
tw
ee
t. T
his
em
be
dd
ed
ob
ject
ca
n g
et
ou
t o
f syn
c.
Th
e a
uth
or's
use
r ID
.
The author's
user name.
The author's
screen name.
The author's
biography.
The author's
URL.The author's "location". This is a free-form text field, and
there are no guarantees on whether it can be geocoded.
Rendering information
for the author. Colors
are encoded in hex
values (RGB).The creation date
for this account.Whether this account has
contributors enabled
(http://bit.ly/50npuu). Number of
favorites this
user has.
Nu
mb
er
of
twe
ets
this
use
r h
as.
Number of
users this user
is following.The timezone and offset
(in seconds) for this user.
The user's selected
language.
Whether this user is protected
or not. If the user is protected,
then this tweet is not visible
except to "friends".
Number of
followers for
this user.
Wh
eth
er
this
use
r h
as g
eo
en
ab
led
(h
ttp
://b
it.ly/4
pF
Y7
7).
DEPRECATED
in this context
Whether this user
has a verified badge.
Th
e g
eo
ta
g o
n t
his
tw
ee
t in
Ge
oJS
ON
(h
ttp
://b
it.ly/b
8L
1C
p).
The contributors' (if any) user
IDs (http://bit.ly/50npuu).
DEPRECATED
The place associated with this
Tweet (http://bit.ly/b8L1Cp).
The place ID
The URL to fetch a detailed
polygon for this placeThe printable names of this place
The type of this
place - can be a
"neighborhood"
or "city"
The country this place is in
The bounding
box for this
place
The application
that sent this
tweetMap of a Twitter Status Object
Raffi Krikorian <[email protected]>18 April 2010
67
![Page 68: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/68.jpg)
TM
Context is everything
68
![Page 69: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/69.jpg)
TM
#hashtagsThose things you add to a Tweet for grouping
69
![Page 70: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/70.jpg)
TM
@mentionsTalk about or to another user
70
![Page 71: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/71.jpg)
TM
51.495466,-0.146341Locates a Tweet
71
![Page 72: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/72.jpg)
TM
via My Appwhat created the Tweet
72
![Page 73: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/73.jpg)
TM
dev.twitter.comThe developer portal
73
![Page 74: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/74.jpg)
TM
Creating an appYour own small playground
74
![Page 75: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/75.jpg)
TM
75
![Page 76: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/76.jpg)
TM
76
![Page 77: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/77.jpg)
TM
77
![Page 78: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/78.jpg)
TM
Browsing docsRemembering how to read
78
![Page 79: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/79.jpg)
TM
79
![Page 80: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/80.jpg)
TM
80
![Page 81: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/81.jpg)
TM
81
![Page 82: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/82.jpg)
TM
Streaming APINear-Realtime Access to Public Statuses
82
![Page 83: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/83.jpg)
TM
Streaming API‣ A persistent connection to Twitter servers
‣ Get pushed a tweet that matches your predicate in “real-time”
‣ Server to server integrations
83
![Page 84: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/84.jpg)
TM
Basic Usage‣ Curl with Basic Auth or Twurl with OAuth
‣ One connection per username permitted
http://stream.twitter.com/1/statuses/sample.json
84
![Page 85: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/85.jpg)
TM
Follow some users‣ Curl with Basic Auth or Twurl with OAuth
‣ One connection per username permitted
‣ Pass up to 400 user_ids, comma seperated
http://stream.twitter.com/1/statuses/filter.json
85
![Page 86: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/86.jpg)
TM
Filter by keyword‣ Curl with Basic Auth or Twurl with OAuth
‣ One connection per username permitted
‣ Pass up to 200 keywords, comma seperated
‣ Example: Twitter will return statuses which contain: TWITTER, twitter, "Twitter", twitter., #twitter and @twitter
http://stream.twitter.com/1/statuses/filter.json
86
![Page 87: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/87.jpg)
TM
Streaming API - Access Levels‣ Default
87
![Page 88: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/88.jpg)
TM
Streaming API - Default Level‣ 200 x Keywords
‣ 400 x Follow userids
‣ 10 x 1-degree location boxes
88
![Page 89: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/89.jpg)
TM
Streaming API - Access Levels‣ Default
‣ Shadow - many followings
‣ Birddog - many more followings
‣ Restricted Track - many keywords
‣ Partner Track - many more keywords
‣ locRestricted - many locations
89
![Page 90: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/90.jpg)
TM
Streaming API - Access Levels‣ Default
‣ Shadow - many followings
‣ Birddog - many more followings
‣ Restricted Track - many keywords
‣ Partner Track - many more keywords
‣ locRestricted - many locations
‣ Firehose - all public statuses
90
![Page 91: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/91.jpg)
TM
Streaming API - Firehose
91
![Page 92: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/92.jpg)
TM
More Info... Check outbit.ly/streaming_api
92
![Page 93: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/93.jpg)
TM
UserstreamsReal-time updates of all data needed to update a desktop application display
93
![Page 94: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/94.jpg)
TM
UserstreamsReal-time updates of all data needed to update a desktop application display
BETA
94
![Page 95: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/95.jpg)
TM
Keyfacts‣ Rate limits practically eliminated
‣ Hit the API for backfill of data
‣ Transition to userstream for real-time updates
‣ Social events streamed too
BETA
95
![Page 96: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/96.jpg)
TM
More Info... Check outbit.ly/userstreams-betabit.ly/userstreams-overview
BETA
96
![Page 97: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/97.jpg)
TM
Stay Informed... Joinbit.ly/twitter-anywhere-talkbit.ly/twitter-dev-talk
Important [email protected]/twitter-api-announce
97
![Page 98: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/98.jpg)
TM
Help... Check outdev.twitter.com
98
![Page 99: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/99.jpg)
TM
Join the Flock! Find out morejobs.twitter.com
99
![Page 100: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/100.jpg)
TM
Questions? Follow us attwitter.com/twitterapitwitter.com/themattharristwitter.com/raffi
100
![Page 101: Twitter Meetup at the Hacker Dojo](https://reader030.fdocuments.in/reader030/viewer/2022020207/54c65b174a7959e9438b45e9/html5/thumbnails/101.jpg)
TM
101