Programming to the Twitter API: ReTweeter

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite & 1 Group

    Programming to the Twitter API: ReTweeter - Presentation Transcript

    1. Progamming to the Twitter API (ReTweeter) Bar Camp Boston 3 May 18, 2008 John Eckman, jeckman@optaros.com
    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. 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. 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. 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. 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. 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. 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. 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. 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. 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

    + John EckmanJohn Eckman, 2 years ago

    custom

    3543 views, 1 favs, 1 embeds more stats

    How to use the Twitter API to create group function more

    More info about this document

    CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

    Go to text version

    • Total Views 3543
      • 3527 on SlideShare
      • 16 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 51
    Most viewed embeds
    • 16 views on http://ror.pinsop.com

    more

    All embeds
    • 16 views on http://ror.pinsop.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events