20130504 - FeWeb - Twitter API

1,382 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,382
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20130504 - FeWeb - Twitter API

  1. 1. Twitter API Keys for creating an awesome application !
  2. 2. Pascal Alberty @zorrobiwan CTO Managing Partner
  3. 3. Twitter Dev Ecosystem ● Twitter success ○ Thanks Dev Community ! ● API ○ ○ ○ ○ September 2006 Very complete Open Free https://blog.twitter.com/2006/introducing-twitter-api
  4. 4. The APIs ● APIs ○ Search API ○ REST API ○ Streaming API ○ https://dev.twitter.com/docs/history-rest-search-api ● Versions ○ API version 1 (almost deprecated) ○ API version 1.1
  5. 5. Resources https://dev.twitter.com/ (Drupal )
  6. 6. Authentication ● OAuth ○ Each API request must be authorized ○ Access token on behalf of a Twitter user ● Obtaining access token ○ ○ ○ ○ ○ Sign in with Twitter 3-legged OAuth Pin based OAuth dev.twitter.com ... https://twitter.com/settings/applications
  7. 7. Declare your application https://dev.twitter.com/apps/new
  8. 8. Rate limiting ● Rate limit window duration ○ 15 minutes ● Requests allotted ○ per user ○ via application-only auth ● Example ○ GET statuses/user_timeline ○ per user: 150 requests per 15 minutes ○ via app: 300 requests per 15 minutes https://dev.twitter.com/docs/rate-limiting/1.1/limits
  9. 9. Other technical limits ● Direct messages ○ 250 per day ● Tweets ○ 1,000 per day ○ Retweets are counted as Tweets. ● Changes to account email ○ Four per hour ● Following ○ 1,000 per day ● Following (account-based) ○ up to following 2,000 other users
  10. 10. Platform objects ● Tweets can be found alone, within user objects, but ● ● ● most often within timelines Users can be found tweeting, following, and favoriting on Twitter Entities are most often found within Tweets Places can be found throughout the natural universe, but typically only appear attached to Tweets on Twitter
  11. 11. Objects type ● JSON ! ● XML output will be dropped soon ○ Only JSON output with API 1.1 ● Be careful with ids (64 bits) ○ use String version (especially if using Javascript) ○ Twitpocalypse ■ https://dev.twitter.com/docs/twitter-ids-json-and-snowflake ○ Idpocalypse ■ https://dev.twitter.com/blog/64-bit-twitter-user-idpocalypse
  12. 12. Tweet Example https://api.twitter.com/1/statuses/show.json?id=341545927401680897&include_entities=true
  13. 13. User example https://api.twitter.com/1/users/show.json?screen_name=zorrobiwan&include_entities=true
  14. 14. Entities / Entity Example ● Hashtags, Medias, URLs, User mentions, Symbols ● No need to parse ● Data used for display also (ex: display_url)
  15. 15. Place example https://api.twitter.com/1/geo/id/247f43d441defc03.json
  16. 16. Libraries ● PHP ○ Twitter-async (https://github.com/jmathai/twitterasync) ○ tmhOAuth (https://github. com/themattharris/tmhOAuth) ○ Zend Framework (http://framework.zend. com/manual/1.12/en/zend.service.twitter.html) ● Java ○ Twitter4J (http://twitter4j.org/) https://dev.twitter.com/docs/twitter-libraries
  17. 17. Tools ● Twurl ○ https://github.com/marcel/twurl ○ "curl" for Twitter API ○ Manage access tokens (authentication) ● Apigee Console ○ https://apigee.com/console ○ Free console to execute APIs
  18. 18. Search API ● Similar to http://search.twitter.com ● Criteria ○ ○ ○ ○ ○ ○ terms geocode language ("Language detection is best-effort") count, until, since-id, max-id result type: mixed, recent, popular include entities ● Paginated ! ○ you have to manage this by yourself
  19. 19. REST API ● ● ● ● ● ● ● ● ● ● ● ● ● ● Timelines Tweets Direct Messages Friends & Followers Users Suggested Users Favorites Lists Saved Searches Places & Geo Trends Spam Reporting OAuth Help
  20. 20. Streaming API ● Persistent HTTP connection ○ until you decide to close it ● Could be reeeeaaaaaaally huge ! ○ Think about you architecture (hard and soft) ! ○ Separate storage and consumption ● Only one stream opened at a time ● Could be tricky to managed ○ Use a library
  21. 21. Streaming API endpoints groups ● Public Streams ○ GET statuses/sample ○ POST statuses/filter ○ GET statuses/firehose (limited access) ● User Streams ○ Data and events for a specific user ● Site Streams (beta and limited access) ○ Real time update for large number of users
  22. 22. https://twitter.com/zorrobiwan/status/341888609399480323 Twitter API Keys for creating an awesome application !

×