SlideShare a Scribd company logo
Application Platforms on Yahoo! Yahoo! Application Platform and Open Mail Jonathan LeBlanc Technology Evangelist Yahoo! Developer Network Twitter: @jcleblanc
EXAMPLES | TUTORIALS | CODE SAMPLES DEVELOPER.YAHOO.COM
The Yahoo! Application Platform (YAP)
 
 
 
Open ID – Single Account Sign-in
OAuth - Open Authentication
 
SDKs (Software Development Kits) PHP, Python, Java, ActionScript 3, Objective-C, and OpenSocial REST APIs http://www.github.com/yahoo
OAuth – What Does the End-User See?
OAuth – What Does the End-User See?
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
Fetching User Data & Making Requests Examples for OpenSocial & PHP Fetching Profiles Fetching and Inserting Updates Fetching Connections Making AJAX Requests
 
Collecting User Data With PHP & OpenSocial 0.8 $session = YahooSession:: requireSession ($key, $secret, $app_id) $user = $session-> getSessionedUser (); $profile = $user-> getProfile (); ----------------------------------------------------------------------------------------------- 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);
Fetching Updates With PHP & OpenSocial 0.8
Getting Updates With PHP & OpenSocial 0.8 $session = YahooSession:: requireSession ($key, $secret, $app_id) $user = $session-> getSessionedUser (); $updates = $user-> getUpdates (); ------------------------------------------------------------------------------- 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);
Inserting Updates With PHP & OpenSocial 0.8 $session = YahooSession:: requireSession ($key, $secret, $app_id) $user = $session-> getSessionedUser (); $update = $user-> insertUpdate ($suid, $title, $link, $description); --------------------------------------------------------------------------------- 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);
Fetching Connections With PHP & OpenSocial 0.8
Fetching Connections With PHP & OpenSocial 0.8 $session = YahooSession::requireSession($key, $secret, $app_id) $user = $session->getSessionedUser(); $connections = $user->getConnections(); ---------------------------------------------------------------------------- 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);
Making YQL Requests With PHP & OpenSocial 0.8 $application = new  YahooApplication ($key, $secret); $results = $application-> query ( ‘ select * from delicious.feeds.popular’);
Making YQL Requests With PHP & 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);
Front-end Security
Front-end Security: Caja Caja Security Very secure model (blacklist all) Aims to protect end-users Full content control IFrame Concerns Drive-by downloads No content restrictions Other known exploits
Front-end Security: Caja Cajoling Process <script type=&quot;text/javascript&quot;> function response(obj) { if (obj.text){ document.getElementById('interact').setInnerHTML('Populated!'); document.getElementById('population').setInnerHTML(obj.errors); } } </script>
Front-end Security: Caja Cajoling Process var $dis = $v.getOuters();  $v.initOuter('onerror');  $v.so('response', ___.markFuncFreeze(function () {  function response$_caller($dis, obj) {  if ($v.r(obj, 'text')) {  $v.cm($v.cm($v.ro('document'), 'getElementById', [ 'interact' ]),  'setInnerHTML', [ 'Populated!' ]);  $v.cm($v.cm($v.ro('document'), 'getElementById', [ 'population' ]),  'setInnerHTML', [ $v.r(obj, 'errors') ]);  }  }  response$_caller.FUNC___ = 'response$_caller';  var response;;  response = $v.dis(___.primFreeze(response$_caller), 'response');  return response;
Open Mail
Apps are self contained
“Plug-ins”  implicitly  enhance experience
Today ?
Contextual plugins X Large File Attachment Your file is over 25MB. Would you like to upload and create a link to your large file? OK
Contextual plugins Flickr photo(s) Past files Yahoo! Map
And the ideas get crazier….
Active Mail
An evolution, not a revolution We always looked for developers to build features that were a natural fit This semantic shift represents enhancements to the invocation point, not radical changes in the functionality e.g. contextually launch “Share Attachments” e.g. invoke Picnik contextually OnCompose e.g. detect an invitation and gently suggest upgrade to Evite
Flexible API for Mail feature development Flickr Groups MyPhotos (formerly Xoopit) Wretch Third-party companies, as appropriate
What we are NOT doing
Questions?

More Related Content

PDF
Silex meets SOAP & REST
PDF
Check username availability with vue.js and PHP
PDF
Building Persona: federated and privacy-sensitive identity for the Web (LCA 2...
PPTX
17. CodeIgniter login simplu cu sesiuni
PDF
Bag Of Tricks From Iusethis
PPTX
Open Hack NYC Yahoo Social SDKs
PDF
Design Patterns avec PHP 5.3, Symfony et Pimple
PDF
PhpBB meets Symfony2
Silex meets SOAP & REST
Check username availability with vue.js and PHP
Building Persona: federated and privacy-sensitive identity for the Web (LCA 2...
17. CodeIgniter login simplu cu sesiuni
Bag Of Tricks From Iusethis
Open Hack NYC Yahoo Social SDKs
Design Patterns avec PHP 5.3, Symfony et Pimple
PhpBB meets Symfony2

What's hot (20)

PDF
Add loop shortcode
ODP
PDF
Building Persona: federated and privacy-sensitive identity for the Web (Open ...
PPTX
18.register login
PDF
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
PDF
Twib in Yokoahma.pm 2010/3/5
PDF
Blog Hacks 2011
PDF
20 modules i haven't yet talked about
PDF
The History of PHPersistence
PDF
Intro to Advanced JavaScript
PDF
Introduction to the Pods JSON API
PDF
FamilySearch Reference Client
PDF
Database Design Patterns
PDF
Keep It Simple Security (Symfony cafe 28-01-2016)
PDF
PythonでJWT生成からボット作成、投稿までやってみた
PDF
WIRED and the WP REST API
PPT
Mobile Patrons: Better Services on the Go (For Techie)
PDF
Pemrograman Web 8 - MySQL
PDF
Unit and Functional Testing with Symfony2
PDF
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Add loop shortcode
Building Persona: federated and privacy-sensitive identity for the Web (Open ...
18.register login
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Twib in Yokoahma.pm 2010/3/5
Blog Hacks 2011
20 modules i haven't yet talked about
The History of PHPersistence
Intro to Advanced JavaScript
Introduction to the Pods JSON API
FamilySearch Reference Client
Database Design Patterns
Keep It Simple Security (Symfony cafe 28-01-2016)
PythonでJWT生成からボット作成、投稿までやってみた
WIRED and the WP REST API
Mobile Patrons: Better Services on the Go (For Techie)
Pemrograman Web 8 - MySQL
Unit and Functional Testing with Symfony2
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Ad

Similar to YAP / Open Mail Overview (20)

PPT
SEA Open Hack - YAP
PPTX
Foundations of a Social Application Platform
PPT
UWash Hack U - Y!OS
PPT
Future of Web Apps - Miami, FL - February 2009
PPT
fowa miami
PPT
FOWA Miami 2009 - Y!OS
PDF
Goodle Developer Days Madrid 2008 - Open Social Update
PDF
Goodle Developer Days London 2008 - Open Social Update
PDF
Google Devfest Singapore - OpenSocial
PPT
Open Social Phpcamp
PDF
OAuth FTW
PDF
How OAuth and portable data can revolutionize your web app - Chris Messina
PPT
Hack u iitb_social
PPT
Lessons Learned - Building YDN
PDF
PHP, OAuth, Web Services and YQL
PPTX
Yahoo Open Platform Stack
PDF
Jaoo - Open Social A Standard For The Social Web
PDF
Open Hack Day Bangalore: Hacking Yahoo! Social
PPT
OpenSocial Intro
PPT
FOWA 09 - Open Strategy Applied
SEA Open Hack - YAP
Foundations of a Social Application Platform
UWash Hack U - Y!OS
Future of Web Apps - Miami, FL - February 2009
fowa miami
FOWA Miami 2009 - Y!OS
Goodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social Update
Google Devfest Singapore - OpenSocial
Open Social Phpcamp
OAuth FTW
How OAuth and portable data can revolutionize your web app - Chris Messina
Hack u iitb_social
Lessons Learned - Building YDN
PHP, OAuth, Web Services and YQL
Yahoo Open Platform Stack
Jaoo - Open Social A Standard For The Social Web
Open Hack Day Bangalore: Hacking Yahoo! Social
OpenSocial Intro
FOWA 09 - Open Strategy Applied
Ad

More from Jonathan LeBlanc (20)

PDF
JavaScript App Security: Auth and Identity on the Client
PDF
Improving Developer Onboarding Through Intelligent Data Insights
PDF
Better Data with Machine Learning and Serverless
PPTX
Best Practices for Application Development with Box
PPTX
Box Platform Overview
PPTX
Box Platform Developer Workshop
PPTX
Modern Cloud Data Security Practices
PPTX
Box Authentication Types
PPTX
Understanding Box UI Elements
PPTX
Understanding Box applications, tokens, and scoping
PPTX
The Future of Online Money: Creating Secure Payments Globally
PDF
Modern API Security with JSON Web Tokens
PPTX
Creating an In-Aisle Purchasing System from Scratch
PDF
Secure Payments Over Mixed Communication Media
PDF
Protecting the Future of Mobile Payments
PDF
Node.js Authentication and Data Security
PDF
PHP Identity and Data Security
PPTX
Secure Payments Over Mixed Communication Media
PDF
Protecting the Future of Mobile Payments
PPTX
Future of Identity, Data, and Wearable Security
JavaScript App Security: Auth and Identity on the Client
Improving Developer Onboarding Through Intelligent Data Insights
Better Data with Machine Learning and Serverless
Best Practices for Application Development with Box
Box Platform Overview
Box Platform Developer Workshop
Modern Cloud Data Security Practices
Box Authentication Types
Understanding Box UI Elements
Understanding Box applications, tokens, and scoping
The Future of Online Money: Creating Secure Payments Globally
Modern API Security with JSON Web Tokens
Creating an In-Aisle Purchasing System from Scratch
Secure Payments Over Mixed Communication Media
Protecting the Future of Mobile Payments
Node.js Authentication and Data Security
PHP Identity and Data Security
Secure Payments Over Mixed Communication Media
Protecting the Future of Mobile Payments
Future of Identity, Data, and Wearable Security

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Cloud computing and distributed systems.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
Teaching material agriculture food technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation theory and applications.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Cloud computing and distributed systems.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Electronic commerce courselecture one. Pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Teaching material agriculture food technology
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Encapsulation theory and applications.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
Per capita expenditure prediction using model stacking based on satellite ima...
Review of recent advances in non-invasive hemoglobin estimation
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine Learning_overview_presentation.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?

YAP / Open Mail Overview

  • 1. Application Platforms on Yahoo! Yahoo! Application Platform and Open Mail Jonathan LeBlanc Technology Evangelist Yahoo! Developer Network Twitter: @jcleblanc
  • 2. EXAMPLES | TUTORIALS | CODE SAMPLES DEVELOPER.YAHOO.COM
  • 3. The Yahoo! Application Platform (YAP)
  • 4.  
  • 5.  
  • 6.  
  • 7. Open ID – Single Account Sign-in
  • 8. OAuth - Open Authentication
  • 9.  
  • 10. SDKs (Software Development Kits) PHP, Python, Java, ActionScript 3, Objective-C, and OpenSocial REST APIs http://www.github.com/yahoo
  • 11. OAuth – What Does the End-User See?
  • 12. OAuth – What Does the End-User See?
  • 13. 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
  • 14. Fetching User Data & Making Requests Examples for OpenSocial & PHP Fetching Profiles Fetching and Inserting Updates Fetching Connections Making AJAX Requests
  • 15.  
  • 16. Collecting User Data With PHP & OpenSocial 0.8 $session = YahooSession:: requireSession ($key, $secret, $app_id) $user = $session-> getSessionedUser (); $profile = $user-> getProfile (); ----------------------------------------------------------------------------------------------- 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);
  • 17. Fetching Updates With PHP & OpenSocial 0.8
  • 18. Getting Updates With PHP & OpenSocial 0.8 $session = YahooSession:: requireSession ($key, $secret, $app_id) $user = $session-> getSessionedUser (); $updates = $user-> getUpdates (); ------------------------------------------------------------------------------- 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);
  • 19. Inserting Updates With PHP & OpenSocial 0.8 $session = YahooSession:: requireSession ($key, $secret, $app_id) $user = $session-> getSessionedUser (); $update = $user-> insertUpdate ($suid, $title, $link, $description); --------------------------------------------------------------------------------- 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);
  • 20. Fetching Connections With PHP & OpenSocial 0.8
  • 21. Fetching Connections With PHP & OpenSocial 0.8 $session = YahooSession::requireSession($key, $secret, $app_id) $user = $session->getSessionedUser(); $connections = $user->getConnections(); ---------------------------------------------------------------------------- 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);
  • 22. Making YQL Requests With PHP & OpenSocial 0.8 $application = new YahooApplication ($key, $secret); $results = $application-> query ( ‘ select * from delicious.feeds.popular’);
  • 23. Making YQL Requests With PHP & 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);
  • 25. Front-end Security: Caja Caja Security Very secure model (blacklist all) Aims to protect end-users Full content control IFrame Concerns Drive-by downloads No content restrictions Other known exploits
  • 26. Front-end Security: Caja Cajoling Process <script type=&quot;text/javascript&quot;> function response(obj) { if (obj.text){ document.getElementById('interact').setInnerHTML('Populated!'); document.getElementById('population').setInnerHTML(obj.errors); } } </script>
  • 27. Front-end Security: Caja Cajoling Process var $dis = $v.getOuters(); $v.initOuter('onerror'); $v.so('response', ___.markFuncFreeze(function () { function response$_caller($dis, obj) { if ($v.r(obj, 'text')) { $v.cm($v.cm($v.ro('document'), 'getElementById', [ 'interact' ]), 'setInnerHTML', [ 'Populated!' ]); $v.cm($v.cm($v.ro('document'), 'getElementById', [ 'population' ]), 'setInnerHTML', [ $v.r(obj, 'errors') ]); } } response$_caller.FUNC___ = 'response$_caller'; var response;; response = $v.dis(___.primFreeze(response$_caller), 'response'); return response;
  • 29. Apps are self contained
  • 30. “Plug-ins” implicitly enhance experience
  • 32. Contextual plugins X Large File Attachment Your file is over 25MB. Would you like to upload and create a link to your large file? OK
  • 33. Contextual plugins Flickr photo(s) Past files Yahoo! Map
  • 34. And the ideas get crazier….
  • 36. An evolution, not a revolution We always looked for developers to build features that were a natural fit This semantic shift represents enhancements to the invocation point, not radical changes in the functionality e.g. contextually launch “Share Attachments” e.g. invoke Picnik contextually OnCompose e.g. detect an invitation and gently suggest upgrade to Evite
  • 37. Flexible API for Mail feature development Flickr Groups MyPhotos (formerly Xoopit) Wretch Third-party companies, as appropriate
  • 38. What we are NOT doing

Editor's Notes

  • #3: Community Resources Helping you be successful in using Yahoo! Web Services isn&apos;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 &apos;Upcoming Events&apos; 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&apos;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&apos;t missed. If you have an idea for a story, please contact us .
  • #4: Community Resources Helping you be successful in using Yahoo! Web Services isn&apos;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 &apos;Upcoming Events&apos; 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&apos;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&apos;t missed. If you have an idea for a story, please contact us .
  • #5: - Social, Contacts, Updates, Status APIs
  • #6: - Social, Contacts, Updates, Status APIs
  • #7: - Social, Contacts, Updates, Status APIs
  • #10: http://developer.yahoo.com/oauth/ https://developer.yahoo.com/oauth/guide/ http://oauth.net/ OAuth Authentication Model OAuth is a simple, secure, and quick way to publish and access protected data (photos, videos, contact list). It&apos;s an open authentication model based primarily on existing standards that ensures secure credentials can be provisioned and verified by different software platforms. In other words, OAuth allows you to share your private resources stored on one site with another site without having to hand out your user name and password. For a visitor to your site, OAuth is completely transparent. The user experience will be specific to the implementation of both the site requesting access and the one storing the resources, and will adjust to the device being used (web browser, mobile phone, PDA, set-top box). Example user flow: A developer has created an application which will allow his users to represent their presence using the Yahoo! Status web service. Once the developer signs up for an OAuth API Key and Secret (provided by Yahoo!), they may access Yahoo&apos;s OAuth API to establish the credentials used to access this data from Yahoo! Status. When a user interacts with the developer&apos;s application, they are redirected to Yahoo&apos;s authentication page, where they sign into their Yahoo! account, then grant the application access to their Yahoo! Status data. A user-authorized token is returned to the application which can be used to access this data. How Do I Get Started? Get an API Key Read the online documentation Get our PHP SDK or Flash SDK (optional) Using the API or Web Service For an illustration of the OAuth authentication flow, check out the Yahoo! OAuth Quick Start Guide . In order to communicate with their target user&apos;s Yahoo services through OAuth, developers must first authenticate requests using Yahoo! OAuth. Here are the steps you take to enable users to access your application: 1) Sign Up and Get your API Key 2) Get a Request Token 3) Get User Approval 4) Exchange the Request Token for an Access Token Support and Community Questions and suggestions on the OAuth API are discussed on the Yahoo! OAuth Developer Community forum . If you have questions or need technical support, please use this forum. Terms of Use Use of the Yahoo! OAuth API is governed by the Yahoo! APIs Terms of Use . The OAuth Standard Yahoo!&apos;s OAuth implementation is fully compliant with OAuth Core 1.0 and the OAuth Session Extension draft (1). In order to support OAuth in a scalable way, Yahoo! proposed and helped create the OAuth Session Extension together with AOL and Google. The extension is currently being added to all the major OAuth client libraries as well as the Y!OS SDK. For more information on the standard, visit: http://oauth.net/ .
  • #22: Missed connections, this is how you find them.
  • #29: Community Resources Helping you be successful in using Yahoo! Web Services isn&apos;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 &apos;Upcoming Events&apos; 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&apos;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&apos;t missed. If you have an idea for a story, please contact us .
  • #31: There’s a progression here: We were always looking for apps that were a natural fit; this is about