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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Open Hack NYC Yahoo Social SDKs

  • 2,407 views
Published

Open Hack NYC Yahoo Social SDKs

Open Hack NYC Yahoo Social SDKs

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Download free full file version from this link without any survay lateste workink 100%
    http://gg.gg/9tv6eskzhim4q11
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,407
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
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