Yahoo APIs and Content Management Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Yahoo APIs and Content Management Systems

Description:

Yahoo! Search. Your application or Web site. Retrieve Web search results. Read-only APIs to discover information. Yahoo! Photos ... – PowerPoint PPT presentation

Number of Views:165
Avg rating:3.0/5.0
Slides: 46
Provided by: yah91
Category:

less

Transcript and Presenter's Notes

Title: Yahoo APIs and Content Management Systems


1
Yahoo APIs and Content Management Systems
  • Dan Theurer, Technical Evangelist
  • dan_at_yahoo-inc.com
  • OSCMS Summit, Yahoo! Sunnyvale
  • March 22th, 2007

2
Whats coming up
  1. Yahoo! Developer Network
  2. Web Services - XML and beyond
  3. Authentication Web Services
  4. CMS BBAuth Modules
  5. Developer Candy

3
1. Yahoo! Developer Network
4
Hackday - September 30th 2006
  • Event
  • Learning, Hacking, Camping
  • Social aspect of Web 2.0?
  • Numbers
  • 450 developers came to Yahoo!
  • One of them was Beck
  • Over 4000 Pictures on Flickr (hackday06)
  • 56 hacks presented.
  • And the winner is

5
Hackday Winners!
  • Blogging In Motion (blogginginmotion.com),
  • combined a camera, a handbag, a pedometer and the
    Flickr API
  • takes a picture after every few steps
  • automatically uploads to Flickr
  • Outside the box!
  • It was certainly one of the best
  • developer events Ive ever attended.
  • Ben Curren,
  • Something special happened at
  • Yahoo this week, and I was very
  • lucky to be part of it.
  • Mike Arrington

6
  • The central source for third parties (ISVs),
    partners, and developers to leverage the Yahoo!
    platform in their own applications
  • The Yahoo! platform consists of web services and
    SDKs that allow developers to build software and
    services that leverage
  • Yahoo's platform excellence
  • highly-scalable infrastructure
  • leadership position in online social media

7
Web Services The key to
  • Hackday and the Camera Purse
  • Enable users to consume data in their own way
    e.g. Flock, CMS
  • Beyond the browser mobile, desktop, etc.
  • Integration (Internal / External / Partners)
  • Mixing and Remixing Content.

8
Enabling Developers
Data
HowTos
Support
Tools
9
Compelling Products
Data
  • APIs and Web Services
  • Answers
  • Geocoder
  • Mail (private alpha)
  • Maps
  • Photos
  • Search
  • Shopping
  • Term Extraction
  • Many RSS feeds

HowTos
Tools
Support
10
Additional Value
HowTos
  • Best Practices
  • Design Patterns
  • Security Guidelines
  • Performance Blog
  • Developer Centers
  • Flash
  • JavaScript
  • .NET
  • PHP/ Python / Ruby

Data
Tools
Support
11
Make it easy
Data
HowTos
Tools
  • Code Samples
  • Gallery
  • Search SDK
  • BBAuth Quickstart
  • Utilities
  • YUI Libraries
  • TimeService
  • Desktop-based environments
  • Messenger SDK
  • Widgets

Support
12
Developer Ecosystem
HowTos
Data
Support
  • Offer and dynamics
  • Support for each API / Web service
  • Engineers who wrote the APIs answer questions
  • Developers helping each other
  • High value feedback

Tools
13
Companies we acquired that support Web services
and APIs
14
2. Web ServicesXML and beyond
15
Styles of APIs and Web Services
  • REST, yREST or RESTful
  • RSS
  • SOAP
  • JavaScript, ActionScript APIs
  • HTTP GET or POST

16
REST(ful) MyWeb2.0 Example
  • What is RESTA stateless client/server protocol
    each HTTP message contains all the information
    necessary to understand the request. As a result,
    neither the client nor the server needs to
    remember any communication-state between messages.
  • http//search.yahooapis.com/MyWebService/V1/urlSea
    rch?appiddantheureryahooiddantheurerresults1
    outputxml

17
MyWeb2.0 Response XML
  • lt?xml version"1.0"?gt
  • ltResultSet xmlnsxsi"http//www.w3.org/2001/XMLSc
    hema-instance" totalResultsAvailable"52"
    totalResultsReturned"1" firstResultPosition"1"gt
  • ltResultgt
  • ltTitlegtYahoo! Developer Networklt/Titlegt
  • ltSummarygtAPIs, Code morelt/Summarygt
  • ltUrlgthttp//developer.yahoo.com/lt/Urlgt
  • ltClickUrlgthttp//developer.yahoo.com/lt/ClickUrlgt
  • ltUsergtdantheurerlt/Usergt
  • ltNotegtlt/Notegt
  • ltDategt1148078778lt/Dategt
  • ltTagsgt
  • ltTaggtapilt/Taggt
  • ltTaggtweb 2.0lt/Taggt
  • ltTaggtwebserviceslt/Taggt
  • lt/Tagsgt
  • lt/Resultgt
  • lt/ResultSetgt

18
MyWeb2.0 Response serialized PHP
  • a1s9"ResultSet" a4
  • s21"totalResultsAvailable"s2"52"
  • s20"totalResultsReturned"s1"1
  • s19"firstResultPosition"s1"1"
  • s6"Result" a8
  • s5"Title" s24"Yahoo! Developer Network"
  • s7"Summary"s211"APIs, Code more"
  • s3"Url"s27"http//developer.yahoo.com/"
  • s8"ClickUrl"s27"http//developer.yahoo.com
    /"
  • s4"User"s10"dantheurer"
  • s4"Note"s0""
  • s4"Date"s10"1148078778"
  • s4"Tags"a1
  • s3"Tag"a3
  • i0s3"api"
  • i1s7"web 2.0"
  • i2s11"webservices"

19
JSON JavaScript Object Notation
  • outputJSONcallbackcbFunction
  • Proxy free AJAX development
  • No XML parsing required
  • Less overhead on the wire
  • Fast

20
JSON Dynamic Script Tag
  • Create a script node. The src url makes the
    request.
  • The server sends the JSON text embedded in a
    script.
  • cbFunction( ... JSONtext ... )
  • The function cbFunction gets called with the
    result data as value.
  • You have to be able to trust the service provider

21
MyWeb2.0 Response JSON
  • cbFunction( "ResultSet"
  • "totalResultsAvailable"52,
  • "totalResultsReturned"1,
  • "firstResultPosition"1,
  • "Result"
  • "Title""Yahoo! Developer Network",
  • "Summary""APIs, Code more",
  • "Url""http\/\/developer.yahoo.com\/",
  • "ClickUrl""http\/\/developer.yahoo.com\/",
  • "User""dantheurer",
  • Note""",
  • "Date"1148078778,
  • "Tags"
  • "Tag"
  • "api",
  • "web 2.0",
  • "webservices
  • )

22
API Driven Badges
http//kentbrewster.com/spiffysearch/
23
Flickr API
  • Photo sharing, tagging, community
  • Fully programmable
  • About 80 API calls
  • JSON / SOAP / REST / XML-RPC / FLASH
  • Geotagging maps pictures to locations
  • Personalized results though Authentication API
    for
  • Web applications
  • Desktop
  • Mobile apps

24
Flickr Application Colrpickr
http//krazydad.com/colrpickr
25
Upcoming.org APIs
  • A community-driven event calendar where users
    interact with their friends around events.
  • REST calls to work with
  • events
  • metros
  • venues
  • categories
  • watchlist
  • users
  • RSS feeds for Metros, Groups, and user specific
    events as well as parameterizes search.
  • Token-based authentication (similar to Flickr)
  • New GeoTags support

26
Multiple APIs Eventbrowser
http//api.local.yahoo.com/eb
27
3. BBAuth Browser Based Authentication
28
Read-only APIs to discover information
Yahoo! Search
Your application or Web site
Read-write APIs facilitate participation
Yahoo! Photos
Your application or Web site
29
Browser-Based Authentication for Yahoo! Web
Services
  • Provides access to Yahoo! Web services through
    third-party Web sites
  • User authenticates with Yahoo! (not the
    third-party application)
  • Yahoo! never shares the user name and password
    with the third-party developer
  • User can revoke permission from the third-party
    application at any time

30
BBAuth Developer Credentials Sign-up
1) http//developer.yahoo.com/
2) Developer needs to be logged in
3) Developer Registration
4) Domain Confirmation
5) If successful appid and secret
31
How Browser-Based Authentication Works
32
BBAuth Application Flow
In the re-direct to the applications success
URL, Yahoo includes a token
The calls are signed with the secret issued by
Yahoo.
Application submits signed appid and token
cookie WSSID (in response body)
api.login.yahoo.com
foo.net
Endpoint?appidxyzWSSID123 and cookie in header
  • - foo.net can re-submit token for a fresh cookie
    for up to 14 days
  • cookies are valid for one hour
  • now data can be requested.

Data
33
http//theurer.cc/code/auth
34
BBAuth supports Single Sign-On
In the re-direct to the applications success
URL, Yahoo includes a token
We know that already!
  • Use
  • Upon request (send_userhash1), the userhash gets
    included in the redirect to the third party
    application.
  • The userhash allows an application to identify a
    returning user.
  • Terminology
  • The userhash is a unique identifier for a user of
    a specific application.

35
Single-Sign-On BBAuth
http//menuism.com - http//buxfer.com
36
4. CMS BBAuth Modules
37
Single-Sign-On Drupal Plug-in
http//gallery.yahoo.com/apps/2187
38
Single-Sign-On WP Plug-in
http//gallery.yahoo.com/apps/2188/
39
5. DEVELOPER CANDY
40
Javascript User Interface Library
  • A collection of JavaScript libraries you can use
    in your Web development
  • Complex user interface controls
  • A cross-browser Ajax library
  • Connection, event, drag-drop and more
  • Updated frequently
  • Code available on Sourceforge
  • Docs available at http//developer.yahoo.com/yui/
  • Free and open-source (BSD license)

41
Design Patterns
  • A pattern describes an optimal solution to a
    common problem within a specific context.
  • Auto-Complete
  • Breadcrumbs
  • Drag and Drop
  • Tabs (Module / Navigation)
  • Rating an Object
  • Pagination (Objects / Pages)
  • Writing a Review

42
Yahoo! Pipes
43
Application Gallery http//gallery.yahoo.c
om
  • Unifies the many separate collections of
    applications
  • Flickr, Search, Widgets, Maps, etc., etc.
  • For Widgets, Web sites, plug-ins, etc.
  • Web site that enables third-party software
    developers to show off applications that utilize
    Yahoo! technology.
  • Tag-based navigation
  • Integration with Y! Ratings Reviews
  • Support for localization
  • RSS everywhere

44
Application Gallery
45
Questions? Comments?
  • Yahoo! Developer Network http//developer.yahoo
    .com/
  • Contact me
  • dan_at_yahoo-inc.com
Write a Comment
User Comments (0)
About PowerShow.com