Hack u iitb_social


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Yahoo’s core strength is Audience! Substantial traffic opportunities to you It makes finding audience easy
  • For that we have APIs Socdir: Access user profile data and connections. Yahoo contacts: Read & write user’s Yahoo! Address Book Read/write user's status data. Read, write, and delete a user's activity updates. Search, post and enjoy the Web's Memes. http://developer.yahoo.com/social/
  • If you go to my pulse homepage, you can see what all your friends have been doing on different social sites
  • All this cool but as a developer how can you play with social.
  • For that we have APIs Socdir: Access user profile data and connections. Yahoo contacts: Read & write user’s Yahoo! Address Book Read/write user's status data. Read, write, and delete a user's activity updates. Search, post and enjoy the Web's Memes. http://developer.yahoo.com/social/
  • OAuth is an open protocol, initiated by Blaine Cook and Chris Messina, to allow secure API authorization in a simple and standard method for desktop, mobile and web applications. For consumer developers, OAuth is a method to publish and interact with protected data. For service provider developers, OAuth gives users access to their data while protecting their account credentials. In other words, OAuth allows a user to grant access to their information on one site (the Service Provider), to another site (called Consumer), without sharing all of his or her identity.
  • http://developer.yahoo.com/blogs/ydn/posts/2010/04/yahoo_updates_firehose/
  • To get updates from Bangalore
  • Flickr - YAP - - Social, Contacts, Updates, Status APIs http://developer.yahoo.com/yap/guide/index.html
  • PHP, Python, Java, ActionScript 3, Objective-C, and OpenSocial
  • SELECT * FROM social.updates WHERE guid=me SELECT * FROM social.updates WHERE source=‘7BNRkt42’ SELECT * FROM social.connections.updates WHERE guid=me
  • Community Resources Helping you be successful in using Yahoo! Web Services isn't just about code and documentation. We want to make it easy for developers to get in touch with us and others who are using our services to answer and ask questions, toss around ideas, and give your feedback on what services we could offer next. Forums YDN General Boards Design Patterns HotJobs Search YOS APT Music Widgets GeoPlanet OpenID Y! Groups Address Book Answers FireEagle Del.icio.us Traffic Flickr Mail Search BOSS Maps JavaScript Silverlight Merchant Solutions Search Marketing Exceptional Performance YUI Java .Net Flash YDN EU Auth PHP Python Ruby Perl Events Want your tech event appear in the YDN 'Upcoming Events' stream on developer.yahoo.com homepage? List your event on Upcoming and then add it to the Yahoo! Developer Network group on Upcoming. If you are setting up a tech event for developers or designers and would like some Yahoo! involvement, please contact us . Experts Yahoo! Developer Network is on the lookout for experts to share knowledge and help grow our developer communities. If you are interested in applying to moderate a *group* or forum and become an official expert, please contact us for more information. Remember, we pay in hugs, link-love and schwag only. Blog The YDN blog is where we talk about our various Yahoo! developer offerings and YDN events around the world. Your comments welcome. If you have a suggestion for the blog or a blog post you'd like to write about your experiences using our APIs or services, let us know. We are particularly interested in posts using Yahoo! APIs, tools, webservices and coverage of tech events. If you need inspiration or want to run some ideas by us, please contact us . YDN Theater YDN Theater is chock-full of API deep dives, developer interviews, cutting- edge technologies, and recaps of tech events you wish you hadn't missed. If you have an idea for a story, please contact us .
  • Hack u iitb_social

    1. 1. Hacking Yahoo! Social Rajesh Kumar S A Developer, Hacker, Evangelist
    2. 2. Yahoo! Audience is the Platform
    3. 3. <ul><li>Social APIs </li></ul><ul><li>Syndicate UGC </li></ul><ul><li>Get referral traffic back to your site </li></ul>Two ways to hack Yahoo! Social <ul><li>2) Open Applications </li></ul><ul><li>Run your applications across Yahoo! </li></ul><ul><li>Reach large Yahoo! audience </li></ul>HOME PAGE MY YAHOO! … more coming soon Y! TOOLBAR PULSE CONTACTS SOCIAL DIRECTORY UPDATES STATUS
    4. 4. Y! Social APIs http://developer.yahoo.com/social/
    6. 9. Y! Social APIs http://developer.yahoo.com/social/ SOCIAL DIRECTORY YAHOO! CONTACTS STATUS UPDATES
    7. 10. Leverage Yahoo!’s 600+ million users in your social applications with Yahoo!’s Social APIs.
    8. 11. Two ways to use Social APIs Open applications are applications that run on the Yahoo! network or other open social containers OAuth applications are standalone applications that run off the Yahoo! network.
    9. 12. Easiest way to use Social APIs is via YQL
    10. 13. http://developer.yahoo.com/yql/console/ http://developer.yahoo.com/yql/console/
    11. 14. <ul><li>select * from social.profile </li></ul><ul><li>where guid=me; </li></ul>Fetching your profile data
    12. 15. Profile Data
    13. 16. <ul><li>select * from social.contacts where guid=me; </li></ul>Finding your contacts
    14. 17. Contacts
    15. 18. <ul><li>select * from social.profile </li></ul><ul><li>where guid= ‘ 7VABDKK365VEHCUDYFO6HUSKQM ’; </li></ul>Fetching any user’s profile data
    16. 19. <ul><li>select * from social.updates where guid=me; </li></ul>Fetching your updates
    17. 20. Updates
    18. 21. <ul><li>select * from social.contacts.updates where guid=me; </li></ul>Updates from your contacts
    19. 22. <ul><li>Access all Yahoo! Updates in real time via YQL </li></ul>Updates Firehose http://www.flickr.com/photos/thomashawk/250792779/
    20. 23. Update Sources: 75+ http ://developer.yahoo.com/social/rest_api_guide/updates-update_sources. html
    21. 24. Updates Firehose
    22. 25. <ul><li>select * from social.updates.search where query='cwg'; </li></ul>Finding updates about CWG
    23. 26. <ul><li>select * from social.updates.search where link='techcrunch.com'; </li></ul>Updates associated with techcrunch.com
    24. 27. <ul><li>SELECT * FROM social.updates.search WHERE woeid=2295420; </li></ul>Updates associated with a location
    25. 28. <ul><li>select * from social.updates.search where source = 'twitter'; </li></ul>Tweets in Yahoo! Updates
    26. 29. <ul><li>select * from social.updates.search where source = '7BNRkt42'; </li></ul>Updates from your application
    27. 30. Y! Social SDK What can you do? http://www.flickr.com/photos/phploveme/2847931240/
    28. 31. <ul><li>Examples for OpenSocial, PHP, Python </li></ul><ul><li>Performs OAuth authorizaiton </li></ul><ul><li>REST calls to the Yahoo! Social Web Services </li></ul><ul><ul><li>Fetching Profiles </li></ul></ul><ul><ul><li>Fetching and Inserting Updates </li></ul></ul><ul><ul><li>Fetching Connections </li></ul></ul><ul><ul><li>Executing YQL </li></ul></ul>Yahoo! Social SDK – Features
    29. 32. <ul><li>http://developer.yahoo.com/social/sdk/ </li></ul>SDK Languages
    30. 33. <ul><li>$session = YahooSession::requireSession($key, $secret, $app_id) </li></ul><ul><li>$user = $session->getSessionedUser(); </li></ul><ul><li>var_dump($user); </li></ul>PHP Example: OAuth Dance
    31. 34. <ul><li>select * from social.profile where guid=me </li></ul><ul><li>select * from social.connections where owner_guid=me </li></ul><ul><li>select message from social.profile.status where guid=me </li></ul><ul><li>select * from social.updates where guid=me </li></ul>Social Data with YQL - Recap
    32. 35. <ul><li>$session = YahooSession::requireSession($key, $secret, $app_id) </li></ul><ul><li>$results = $session->query(‘select * from social.updates where guid=me’); </li></ul><ul><li>var_dump($results); </li></ul>PHP Example: Executing YQL
    33. 36. <ul><li>$session = YahooSession::requireSession ($key, $secret, $app_id) </li></ul><ul><li>$user = $session->getSessionedUser(); </li></ul><ul><li>$update = $user->insertUpdate($suid, $title, $link, $description); </li></ul><ul><li>var_dump($update); </li></ul>PHP Example: Inserting Updates
    34. 37. Python Example: OAuth Dance oauthapp = yahoo.application.OAuthApplication (key, secret, app_id, callback) # fetch unauthorized request token request_token = oauthapp.get_request_token(callback) # authorize request token authorization_url = oauthapp.get_authorization_url(request_token) # refresh authorized request token with access token access_token = oauthapp.get_access_token(request_token) oauthapp.token = access_token
    35. 38. <ul><li>oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback) </li></ul><ul><li>profile = oauthapp.getProfile() </li></ul><ul><li>print profile </li></ul>Python Example: Fetching Profile Data
    36. 39. <ul><li>oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback) </li></ul><ul><li>results = oauthapp.yql('select * from social.profile where guid=me') </li></ul><ul><li>print results </li></ul>Python Example: Executing YQL
    37. 40. <ul><li>Yahoo! Social APIs - http://developer.yahoo.com/social/ </li></ul><ul><li>Meme APIs: http://developer.yahoo.com/meme/ </li></ul><ul><li>Yahoo! Query Language - http://developer.yahoo.com/yql/ </li></ul><ul><li>Yahoo! Social SDKs- </li></ul><ul><li>http://developer.yahoo.com/social/sdk/ </li></ul><ul><li>Examples - http://github.com/saurabhsahni/Hacks </li></ul>Getting Started - Documentation
    38. 41. Example Apps
    39. 42. <ul><li>Updatesville </li></ul>
    40. 43. Social Search Social Search
    41. 44. Social Search
    42. 45. <ul><li>Materialize Social Graph data for engaging experiences </li></ul><ul><li>Build apps for Yahoo! network and reach 600M+ audience </li></ul><ul><li>Use updates API to make your hacks viral </li></ul><ul><li>Improve social search experience </li></ul><ul><li>Think social games! </li></ul><ul><li>Personalize your hacks with Yahoo! Profile data. Use Yahoo! Login. </li></ul>What can you do?
    43. 46. Hack: Updates in your language http://www.flickr.com/photos/dimitridf/2841804136/
    44. 48. DEMO
    45. 49. THANK YOU!
    46. 52. https://developer.apps.yahoo.com/projects/
    47. 53. https://developer.apps.yahoo.com/projects/
    48. 55. Gadget XML: http://github.com/saurabhsahni/Hacks
    49. 59. PHP Code: http://github.com/saurabhsahni/Hacks