Your SlideShare is downloading. ×
Open Hack NYC Yahoo Social SDKs
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Open Hack NYC Yahoo Social SDKs

2,451

Published on

Open Hack NYC Yahoo Social SDKs

Open Hack NYC Yahoo Social SDKs

Published in: Technology
1 Comment
1 Like
Statistics
Notes
  • Download free full file version from this link without any survay lateste workink 100%
    http://gg.gg/9tv6eskzhim4q11
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,451
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
38
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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.
  • Missed connections, this is how you find them.
  • Y!OS Main Overview - http://developer.yahoo.com/yosYAP Main Overview - http://developer.yahoo.com/yapYQL Docs - http://developer.yahoo.com/yqlYML Docs - http://developer.yahoo.com/yap/ymlYDN Forum - http://developer.yahoo.com/forumYAP Dashboard - http://developer.yahoo.com/dashboardYQL Console - http://developer.yahoo.com/yql/consoleApplication Gallery - http://apps.yahoo.com/myappsJSLint - http://www.jslint.comPHP SDK - http://developer.yahoo.com/social/sdk/AS3 SDK - http://developer.yahoo.com/flash/yos/Caja - http://code.google.com/p/google-caja/Caja Support - http://developer.yahoo.com/yap/guide/caja-support.html
  • Transcript

    • 1. Yahoo Social SDKs
      Jon LeBlanc + Dustin Whittle
      Yahoo! Developer Network
    • 2. EXAMPLES | TUTORIALS | CODE SAMPLES
      developer.yahoo.com
    • 3.
    • 4. Open applications are applications that run on the Yahoo! network: Yahoo! Homepage and My Yahoo!
      OAuth applications are standalone applications the run off the Yahoo! network.
    • 5. SDK Prerequisites
      • ck = CONSUMER_KEY
      • 6. cks = CONSUMER_SECRET
      • 7. app = APPLICATION_ID
      • 8. cb = CALLBACK_URL
    • 9.
    • 10.
    • 11.
    • 12.
    • 13. SDK Code DiveWhat can you do?
      11
    • 14. Yahoo! Social Apps – A good foundation
      Scalable Hosting
      Joyent – Free OpenSocial Accelerators
      Google App Engine
      Amazon EC2 + S3
      Web App Framework
      PHP (symfony)
      Python (Django)
      Ruby (Rails)
    • 15.
    • 16. What SDK Languages Are Available?
      PHP, Python, Java, ActionScript 3,
      Objective-C, and OpenSocial
      http://www.github.com/yahoo
    • 17. Yahoo! Social SDK – Features
      • Examples for OpenSocial, PHP, Python
      • 18. Authenticating with OAuth
      • 19. Fetching Profiles
      • 20. Fetching and Inserting Updates
      • 21. Fetching Connections
      • 22. Executing YQL
    • What is OpenSocial?
      • OpenSocial API
      • 23. For developing applications on social networks
      Accessing social data (profiles, connections)
      Fetching and inserting activities
      • Implemented by many containers
      Develop once, distribute broadly
    • 24.
    • 25. Collecting User Data With OpenSocial 0.8
      /* OpenSocial PERSON data request */
      var req = opensocial.newDataRequest();
      var params = {};
      params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [
      opensocial.Person.Field.NAME,
      opensocial.Person.Field.THUMBNAIL_URL
      ];
      req.add(req.newFetchPersonRequest('VIEWER', params), 'viewer_profile');
      req.send(response);
    • 26. Collecting User Data With OpenSocial 0.8
      /* response handler */
      function response(data){
      var viewer = data.get('viewer_profile').getData();
      var aboutme =
      viewer.getField(opensocial.Person.Field.NAME);
      }
    • 27. PHP Example: OAuth Dance
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      var_dump($user);
    • 28.
    • 29.
    • 30. PHP Example: Fetching Profile Data
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      $profile = $user->getProfile();
      var_dump($profile);
    • 31. 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
    • 32. Python Example: Fetching Profile Data
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      profile = oauthapp.getProfile()
      print profile
    • 33. Yahoo! Updates
    • 34. Getting Updates With OpenSocial 0.8
      var req = opensocial.newDataRequest();
      var spec = new opensocial.IdSpec();
      spec.setField(opensocial.IdSpec.Field.USER_ID, opensocial.IdSpec.PersonId.OWNER);
      req.add(req.newFetchActivitiesRequest(spec), 'ownerActivities');
      req.send(handleActivities);
    • 35. Getting Updates With OpenSocial 0.8
      function handleActivities(dataResponse) {
      var ownerActivities = dataResponse.get('ownerActivities').getData();
      //parse owner activities
      }
    • 36. PHP Example: Fetching Updates
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      $updates = $user->getUpdates();
      var_dump($updates);
    • 37. Python Example: Fetching Updates
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      updates = oauthapp.getUpdates()
      print updates
    • 38. Inserting Updates with OpenSocial 0.8
      var params = {}, activity;
      params[opensocial.Activity.Field.TITLE] = title;
      params[opensocial.Activity.Field.BODY] = body;
      activity = opensocial.newActivity(params);
      opensocial.requestCreateActivity(
      activity,
      opensocial.CreateActivityPriority.LOW,
      callback);
    • 39. PHP Example: Inserting Updates
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      $update = $user->insertUpdate($suid, $title, $link, $description);
      var_dump($update);
    • 40. Python Example: Inserting Updates
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      update = oauthapp.insertUpdate(title, description, link)
      print update
    • 41. Fetching Connections With OpenSocial 0.8
      /* get owner and owner friends */
      var idspec = opensocial.newIdSpec({ 'userId' : 'OWNER', 'groupId' : 'FRIENDS' });
      var req = opensocial.newDataRequest();
      req.add(req.newFetchPersonRequest('OWNER'), 'get_owner');
      req.add(req.newFetchPeopleRequest(idspec), 'get_friends');
      req.send(responseFriends);
    • 42. Fetching Connections With OpenSocial 0.8
      /* connection response function */
      function responseFriends(data){
      var owner = data.get('get_owner').getData();
      var objFriends = data.get('get_friends').getData();
      var html = 'Friends of ' +
      owner.getDisplayName() + '<br />';
      objFriends.each(function(person) {
      html += person.getDisplayName() + '<br />';
      });     
      }
    • 43. PHP Example: Fetching Connections
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      $connections = $user->getConnections();
      var_dump($connections);
    • 44. Python Example: Fetching Connections
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      connections = oauthapp.getConnections()
      print connections
    • 45.
    • 46.
    • 47. The Yahoo! Query Language (YQL)
      SELECT myColumn, myTitle
      FROM myTable
      WHERE col = 'value' AND var = 'title‘
      LIMIT 3 OFFSET 10 |
      sort(field='myColumn') | reverse()
    • 48. Getting Social Data with YQL
      select * from social.profile where guid=me
      select * from social.connections where owner_guid=me
      select message from social.profile.status where guid=me
      select * from social.updates where guid=me
    • 49. Making AJAX Requests With OpenSocial 0.8
      var params = {};
      var url = 'http://developer.yahoo.com/yql/console/?q=select%20*%20from%20flickr.photos.search%20where%20text%3D%22Times%20Square%22'
      var callback = callbackFunc;
      params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
      params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
      gadgets.io.makeRequest(url, callback, params);
    • 50. Making AJAX Requests With OpenSocial 0.8
      function callbackFunc(response){
      if (response.text){
      //use response.txt
      }
      }
    • 51. PHP Example: Executing YQL
      $application = new YahooApplication($key, $secret);
      $results = $application->query(‘select * from delicious.feeds.popular’);
      var_dump($results);
    • 52. Python Example: Executing YQL
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      results = oauthapp.yql('select * from social.profile where guid=me')
      print results
    • 53. Getting Started - Documentation
      Y!OS Main Overview - http://developer.yahoo.com/yos
      YAP Main Overview - http://developer.yahoo.com/yap
      YQL Docs - http://developer.yahoo.com/yql
      YML Docs - http://developer.yahoo.com/yap/yml
      YDN Forum – http://developer.yahoo.com/forum
      YAP Dashboard - http://developer.yahoo.com/dashboard
      YQL Console - http://developer.yahoo.com/yql/console
      Application Gallery - http://apps.yahoo.com/myapps
      JSLint - http://www.jslint.com
      Github SDKs – http://www.github.com/yahoo (yos-social-LANGUAGE)
      PHP SDK - http://developer.yahoo.com/social/sdk/
      AS3 SDK - http://developer.yahoo.com/flash/yos/
      Caja - http://code.google.com/p/google-caja/
      Caja Guide - http://developer.yahoo.com/yap/guide/caja-support.html
      OpenSocial Spec - http://code.google.com/apis/opensocial
    • 54. Yahoo! Social SDKs: Live Demo
      Joyent Accelerator + PHP SDK
      • http://apps.yahoo.com/-ZVumNI5a
      Google App Engine + Python SDK
      • http://yapdemo.appspot.com/
    • 55.
    • 56.
    • 57. QUESTIONS?
      EXAMPLES | TUTORIALS | CODE SAMPLES
      developer.yahoo.com
    • 58. ENJOY THE REST OF
      YAHOO! OPEN HACK DAY!
      EXAMPLES | TUTORIALS | CODE SAMPLES
      DEVELOPER.YAHOO.COM

    ×