Progamming to the Twitter API
(ReTweeter)
Bar Camp Boston 3
May 18, 2008
John Eckman, jeckman@optaros.com
Agenda

  Twitter
  The Twitter API
  ReTweeter
  Lessons Learned
  Q&A




This work is licensed under a Creative Commons...
Twitter

  Lightweight micro-blogging platform
   • Short (<140) text messages to followers
   • River of updates from tho...
The Twitter API

   Most access to Twitter is via the API
    • 10x more than the Web interface)
      (http://readwriteta...
The Twitter API: Basic Methods

  Status Methods:                                            User Methods:
     • public_t...
The Twitter API: Continued

  Favorite Methods:                                          Notification Methods:
     • favo...
ReTweeter

  Use the Twitter API to fake “group” functions
  Create a new “group” account
  Follow back folks who follow t...
ReTweeter Basic Flow of Code

   Whole thing runs on a cron job
      • Rate limiting – 70 requests in 60 minutes
      • ...
ReTweeter Code

  Time allowing, we'll look at the code
  Otherwise you can get it later:
     http://www.openparenthesis....
Lessons Learned

  Don't Test on the Live Account
     • Bad developer spams his followers
     • If they use SMS, this ca...
Q&A

eckman.john@gmail.com
jeckman@optaros.com
http://twitter.com/jeckman


http://johneckman.com/ (lifestream, profile li...
Upcoming SlideShare
Loading in …5
×

Programming to the Twitter API: ReTweeter

5,873 views

Published on

How to use the Twitter API to create group functionality with open source PHP code

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
  • see also my article about using the twitter api http://www.ajaxel.de/webwissen/php/26-twitter-api-anzapfen.html
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,873
On SlideShare
0
From Embeds
0
Number of Embeds
102
Actions
Shares
0
Downloads
95
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Programming to the Twitter API: ReTweeter

  1. 1. Progamming to the Twitter API (ReTweeter) Bar Camp Boston 3 May 18, 2008 John Eckman, jeckman@optaros.com
  2. 2. Agenda Twitter The Twitter API ReTweeter Lessons Learned Q&A This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 2
  3. 3. Twitter Lightweight micro-blogging platform • Short (<140) text messages to followers • River of updates from those you follow (friends) Some conventions: • d username = direct message • @username = reply – Unlike DMs, replies are public – User determines whether to see replies from folks not followed • #tag = hashtag (twemes.com, hashtags.org) Multiple modes of access • Mobile (SMS or Mobile Web) • Web Browser • Other Client (Using API) This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 3
  4. 4. The Twitter API Most access to Twitter is via the API • 10x more than the Web interface) (http://readwritetalk.com/2007/09/05/biz-stone-co-founder-twitter/) • Desktop clients like twhirl, twitterrific • Mobile clients TinyTwitter, PocketTweets, iTweet Well documented in Google Group (http://groups.google.com/group/twitter-development-talk/web/api-documentation) Provides access to core data simply • XML, JSON data formats • RSS, ATOM syndication formats Basic http authentication where needed Rate limited • On reads (gets): • Unlimited writes (posts) This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 4
  5. 5. The Twitter API: Basic Methods Status Methods: User Methods: • public_timeline • friends • friends_timeline • followers • user_timeline • featured • show • show • update Direct Message Methods: • replies • direct_messages • destroy • sent Account Methods: • new • verify_credentials • destroy • end_session Friendship Methods: • archive • create • update_location • destroy • update_delivery_device • exists This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 5
  6. 6. The Twitter API: Continued Favorite Methods: Notification Methods: • favorites • follow • create • leave • destroy Block Methods Help Methods: • create • destroy • test • downtime_schedule This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 6
  7. 7. ReTweeter Use the Twitter API to fake “group” functions Create a new “group” account Follow back folks who follow that account When those users tweet with a hashtag, repost that tweet so that all followers see it, prefaced with the username of the original poster Could have sent direct messages instead Hashtag could be the name of the account but doesn't have to be This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 7
  8. 8. ReTweeter Basic Flow of Code Whole thing runs on a cron job • Rate limiting – 70 requests in 60 minutes • Unlimited posting Get friends_timeline.xml Returns the 20 most recent statuses posted in the last 24 hours from the authenticating user and that user's friends. curl -u email:password http://twitter.com/statuses/friends_timeline.xml Loop through posts in friends_timeline • Remove the group account itself (avoid loop!!) • Find all tweets in timeline beginning with hashtag • Put in database, with datestamp and id Pull all “un-retweeted” tweets from database Post those tweets, updating “retweeted” status as they post This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 8
  9. 9. ReTweeter Code Time allowing, we'll look at the code Otherwise you can get it later: http://www.openparenthesis.org/code/twitter-api Open Source, GPLv3 license Uses: • PHP 5 (SimpleXMLElement rocks) • MySQL DB • cron or equivalent (scheduled command line invocation) • cURL This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 9
  10. 10. Lessons Learned Don't Test on the Live Account • Bad developer spams his followers • If they use SMS, this can have an actual financial cost in addition to annoyance • Thankfully people are forgiving, generally Use a desktop client like Twhirl • Multiple client support • Talk amongst yourselves Twitter will go down • Not if, but when • Handle errors gracefully Twitter can enable “auto-follow-back” for you • Sometimes following people fails for undetermined reasons • Since the group account can't follow them back they can't post! This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 10
  11. 11. Q&A eckman.john@gmail.com jeckman@optaros.com http://twitter.com/jeckman http://johneckman.com/ (lifestream, profile links) http://www.openparenthesis.org/ (open source, web development, social applications) http://www.goatless.org/ (travel, veganism, music) http://www.optaros.com/user/jeckman (enterprise focus, how changes in the online industry affect Optaros clients and prospects) This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License 11

×