Open Hack NYC Yahoo Social SDKs

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

    Notes on slide 1

    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

    1 Event

    Open Hack NYC Yahoo Social SDKs - Presentation Transcript

    1. Yahoo Social SDKs
      Jon LeBlanc + Dustin Whittle
      Yahoo! Developer Network
    2. EXAMPLES | TUTORIALS | CODE SAMPLES
      developer.yahoo.com
    3. 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.
    4. SDK Prerequisites
      • ck = CONSUMER_KEY
      • cks = CONSUMER_SECRET
      • app = APPLICATION_ID
      • cb = CALLBACK_URL
    5. SDK Code DiveWhat can you do?
      11
    6. 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)
    7. What SDK Languages Are Available?
      PHP, Python, Java, ActionScript 3,
      Objective-C, and OpenSocial
      http://www.github.com/yahoo
    8. Yahoo! Social SDK – Features
      • Examples for OpenSocial, PHP, Python
      • Authenticating with OAuth
      • Fetching Profiles
      • Fetching and Inserting Updates
      • Fetching Connections
      • Executing YQL
    9. What is OpenSocial?
      • OpenSocial API
      • For developing applications on social networks
      Accessing social data (profiles, connections)
      Fetching and inserting activities
      • Implemented by many containers
      Develop once, distribute broadly
    10. 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);
    11. 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);
      }
    12. PHP Example: OAuth Dance
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      var_dump($user);
    13. PHP Example: Fetching Profile Data
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      $profile = $user->getProfile();
      var_dump($profile);
    14. 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
    15. Python Example: Fetching Profile Data
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      profile = oauthapp.getProfile()
      print profile
    16. Yahoo! Updates
    17. 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);
    18. Getting Updates With OpenSocial 0.8
      function handleActivities(dataResponse) {
      var ownerActivities = dataResponse.get('ownerActivities').getData();
      //parse owner activities
      }
    19. PHP Example: Fetching Updates
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      $updates = $user->getUpdates();
      var_dump($updates);
    20. Python Example: Fetching Updates
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      updates = oauthapp.getUpdates()
      print updates
    21. 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);
    22. PHP Example: Inserting Updates
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      $update = $user->insertUpdate($suid, $title, $link, $description);
      var_dump($update);
    23. Python Example: Inserting Updates
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      update = oauthapp.insertUpdate(title, description, link)
      print update
    24. 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);
    25. 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 />';
      });     
      }
    26. PHP Example: Fetching Connections
      $session = YahooSession::requireSession($key, $secret, $app_id)
      $user = $session->getSessionedUser();
      $connections = $user->getConnections();
      var_dump($connections);
    27. Python Example: Fetching Connections
      oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
      connections = oauthapp.getConnections()
      print connections
    28. The Yahoo! Query Language (YQL)
      SELECT myColumn, myTitle
      FROM myTable
      WHERE col = 'value' AND var = 'title‘
      LIMIT 3 OFFSET 10 |
      sort(field='myColumn') | reverse()
    29. 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
    30. 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);
    31. Making AJAX Requests With OpenSocial 0.8
      function callbackFunc(response){
      if (response.text){
      //use response.txt
      }
      }
    32. PHP Example: Executing YQL
      $application = new YahooApplication($key, $secret);
      $results = $application->query(‘select * from delicious.feeds.popular’);
      var_dump($results);
    33. 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
    34. 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
    35. Yahoo! Social SDKs: Live Demo
      Joyent Accelerator + PHP SDK
      • http://apps.yahoo.com/-ZVumNI5a
      Google App Engine + Python SDK
      • http://yapdemo.appspot.com/
    36. QUESTIONS?
      EXAMPLES | TUTORIALS | CODE SAMPLES
      developer.yahoo.com
    37. ENJOY THE REST OF
      YAHOO! OPEN HACK DAY!
      EXAMPLES | TUTORIALS | CODE SAMPLES
      DEVELOPER.YAHOO.COM

    + Dustin WhittleDustin Whittle, 1 month ago

    custom

    282 views, 0 favs, 0 embeds more stats

    Open Hack NYC Yahoo Social SDKs

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 282
      • 282 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 14
    Most viewed embeds

    more

    All embeds

    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