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

Open Hack NYC Yahoo Social SDKs

on

  • 3,787 views

Open Hack NYC Yahoo Social SDKs

Open Hack NYC Yahoo Social SDKs

Statistics

Views

Total Views
3,787
Views on SlideShare
3,762
Embed Views
25

Actions

Likes
1
Downloads
38
Comments
1

6 Embeds 25

http://coderwall.com 13
http://www.slideshare.net 5
http://lanyrd.com 4
http://localhost:3000 1
http://duckduckgo.com 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • 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
    Processing…
Post Comment
Edit your comment
  • 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

Open Hack NYC Yahoo Social SDKs Open Hack NYC Yahoo Social SDKs Presentation Transcript

  • Yahoo Social SDKs
    Jon LeBlanc + Dustin Whittle
    Yahoo! Developer Network
  • EXAMPLES | TUTORIALS | CODE SAMPLES
    developer.yahoo.com
  • 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.
  • SDK Prerequisites
    • ck = CONSUMER_KEY
    • cks = CONSUMER_SECRET
    • app = APPLICATION_ID
    • cb = CALLBACK_URL
  • SDK Code DiveWhat can you do?
    11
  • 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)
  • What SDK Languages Are Available?
    PHP, Python, Java, ActionScript 3,
    Objective-C, and OpenSocial
    http://www.github.com/yahoo
  • Yahoo! Social SDK – Features
    • Examples for OpenSocial, PHP, Python
    • Authenticating with OAuth
    • Fetching Profiles
    • Fetching and Inserting Updates
    • Fetching Connections
    • Executing YQL
  • 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
  • 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);
  • 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);
    }
  • PHP Example: OAuth Dance
    $session = YahooSession::requireSession($key, $secret, $app_id)
    $user = $session->getSessionedUser();
    var_dump($user);
  • PHP Example: Fetching Profile Data
    $session = YahooSession::requireSession($key, $secret, $app_id)
    $user = $session->getSessionedUser();
    $profile = $user->getProfile();
    var_dump($profile);
  • 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
  • Python Example: Fetching Profile Data
    oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
    profile = oauthapp.getProfile()
    print profile
  • Yahoo! Updates
  • 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);
  • Getting Updates With OpenSocial 0.8
    function handleActivities(dataResponse) {
    var ownerActivities = dataResponse.get('ownerActivities').getData();
    //parse owner activities
    }
  • PHP Example: Fetching Updates
    $session = YahooSession::requireSession($key, $secret, $app_id)
    $user = $session->getSessionedUser();
    $updates = $user->getUpdates();
    var_dump($updates);
  • Python Example: Fetching Updates
    oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
    updates = oauthapp.getUpdates()
    print updates
  • 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);
  • PHP Example: Inserting Updates
    $session = YahooSession::requireSession($key, $secret, $app_id)
    $user = $session->getSessionedUser();
    $update = $user->insertUpdate($suid, $title, $link, $description);
    var_dump($update);
  • Python Example: Inserting Updates
    oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
    update = oauthapp.insertUpdate(title, description, link)
    print update
  • 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);
  • 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 />';
    });     
    }
  • PHP Example: Fetching Connections
    $session = YahooSession::requireSession($key, $secret, $app_id)
    $user = $session->getSessionedUser();
    $connections = $user->getConnections();
    var_dump($connections);
  • Python Example: Fetching Connections
    oauthapp = yahoo.application.OAuthApplication(key, secret, app_id, callback)
    connections = oauthapp.getConnections()
    print connections
  • The Yahoo! Query Language (YQL)
    SELECT myColumn, myTitle
    FROM myTable
    WHERE col = 'value' AND var = 'title‘
    LIMIT 3 OFFSET 10 |
    sort(field='myColumn') | reverse()
  • 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
  • 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);
  • Making AJAX Requests With OpenSocial 0.8
    function callbackFunc(response){
    if (response.text){
    //use response.txt
    }
    }
  • PHP Example: Executing YQL
    $application = new YahooApplication($key, $secret);
    $results = $application->query(‘select * from delicious.feeds.popular’);
    var_dump($results);
  • 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
  • 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
  • Yahoo! Social SDKs: Live Demo
    Joyent Accelerator + PHP SDK
    • http://apps.yahoo.com/-ZVumNI5a
    Google App Engine + Python SDK
    • http://yapdemo.appspot.com/
  • QUESTIONS?
    EXAMPLES | TUTORIALS | CODE SAMPLES
    developer.yahoo.com
  • ENJOY THE REST OF
    YAHOO! OPEN HACK DAY!
    EXAMPLES | TUTORIALS | CODE SAMPLES
    DEVELOPER.YAHOO.COM