SlideShare a Scribd company logo
1 of 39
YQL & YAHOO! APIS

                    Jai Santhosh
       Frontend Engineer, Hacker
                          Yahoo!
What We’re Going to Cover

• YQL Overview

• Making Queries and the Console Sandbox

• Demo

• Open Data Tables and Execute (Server-Side
  JavaScript)

• Final Lessons
Data manipulation
Hacks =           +
          Data visualization
The web is a large pile of data!
ProgrammableWeb.com – 4480 Apis
Yahoo! has also
opened up its data
http://developer.yahoo.com/everything.html
Trouble with Data
• Need to find data API
• Get Access – Signup for key
• Find data endpoint
• Read docs to learn what parameters you
  have
• Get data in obscure format
• Use data after converting and filtering
• More APIs you use, more is your
  annoyance
To make data access easy on
         the web,
    Yahoo! created YQL
=
YQL turns web services and
  data on the web into
        databases.
select {what} from {where}
    where {conditions}
You can select, filter, sort
and limit data and you can
  even insert, update and
      delete from it.
YQL: http://developer.yahoo.com/yql/console
Finding Videos about Bangalore


• SELECT * FROM youtube.search where
  query='bangalore'
Selecting Photos of RHOK


• SELECT * FROM flickr.photos.search where
  text="rhok"
Inserting data


INSERT INTO bitly.shorten (login, apiKey, longUrl)

VALUES ('ME', 'API_KEY', 'http://yahoo.com')
updating data


UPDATE social.profile.status


SET status="Using YQL UPDATE”


WHERE guid="NJFIDHVPVVISDX7UKED2WHU"
Accessing Private Data
      • http://query.yahooapis.com/v1/yql

Uses OAuth 1.0 for authorization

OAuth is complicated – use one of our SDKs at
https://github.com/yahoo
Retrieving my profile


• SELECT * FROM social.contacts WHERE
  guid=me
Using the YQL Console
makes it very easy to
        use it.
url structure
• http://query.yahooapis.com/v1/yql?[params]
• http://query.yahooapis.com/v1/public/yql?[para
  ms]
    Params
    q=            [ YQL QUERY ]
    format =      [ XML / JSON ]
    diagnostics = [ true / false ]
    debug =       [ true / false ]
    callback =    [ function name ]
Let’s See It
Query Samples
•   SELECT * FROM twitter.search where q='hackathon’ limit 5

•   select * from answers.search where query="cars" and type="resolved"

•   select * from google.translate where q="this is a test" and target="hi";

•   select * from google.translate where q in (select text from twitter.search
    where q="hackday") and target='hi';

•   select * from search.termextract where context in (select description from
    rss where url='http://rss.news.yahoo.com/rss/topstories')
Query Samples
• select * from yahoo.finance.quotes where symbol in
  ("YHOO","AAPL","GOOG","MSFT")

• insert into yahoo.shortener (url, keysize) values
  ('http://www.javarants.com', 5)

• select * from craigslist.search where location="bangalore" and
  type="apa" and query="indiranagar”

• select * from html where url="http://finance.yahoo.com/q?s=yhoo"
  and xpath='//div[@id="yfi_headlines"]/div[2]/ul/li/a’
Making Requests: Flickr URLs
<photo   farm="3"
         id="5708163920"
         isfamily="0"
         isfriend="0"
         ispublic="1"
         owner="31832337@N04"
         secret="0075137487"
         server="2496"
         title="San Francisco"/>
Making Requests: Flickr URLs
Photo URL
http://farm{$farm}.static.flickr.com/{$server}/{$id
}_{$secret}.jpg


Photo Page URL
http://www.flickr.com/photos/{$owner}/{$id}


Photo Owner Profile URL
http://www.flickr.com/photos/{$owner}
YQL is open – you can get your
  data tables in our system
Craigslist data table
<table>
  <meta>
   <author>Yahoo! Inc.</author>
   <documentationURL>http://craigslist.org/</documentationURL>
    <sampleQuery>
    select * from {table} where location="sfbay" and type="sss" and query=“bike”
    </sampleQuery>
  </meta>
  <bindings>
    …
  </bindings>
</table>
Craigslist data table
<table>
 <meta> … </meta>
  <bindings>
   <select itemPath="" produces="XML">
     <urls>
       <url>http://{location}.craigslist.org/search/{type}?format=rss</url>
     </urls>
     <inputs>
       <key id="location" type="xs:string" paramType="path" required="true"/>
       <key id="type" type="xs:string" paramType="path" required="true"/>
       <key id="query" type="xs:string" paramType="query" required="true"/>
     </inputs>
    </select>
  </bindings>
</table>
Upload XML to our Github
 http://github.com/yql/yql-tables
Or to your own Site

• The USE clause

USE 'http://www.mysite.com/my_table.xml'
AS mytable;

SELECT * FROM mytable
WHERE user='john_doe'
You can even write server side
javascript to build a webservice
Final Lessons

• YQL is a skeleton key for all Yahoo! APIs

• Open data tables allow you to create new data feeds
  out of one or many different raw sources

• There are 1200+ Tables in YQL covering all major APIs
  on the web

• Use SDKs when accessing private data that requires
  OAuth
Final Lessons: Links
• All Yahoo! APIs and Services
• http://developer.yahoo.com/everything.html

•   YQL Documentation
•   http://developer.yahoo.com/yql
•   YQL Console
•   http://developer.yahoo.com/yql/console

• YQL Github Account (Contribute Tables)
• http://github.com/yql/yql-tables
http://isithackday.com/hackday-toolbox/
Questions?
http://www.slideshare.net/jaisa
nth




 Jai Santhosh

 Twitter: @jaisanth
 Github: http://github.com/jaisanth
THANK YOU!

More Related Content

What's hot

jQuery Performance Tips and Tricks (2011)
jQuery Performance Tips and Tricks (2011)jQuery Performance Tips and Tricks (2011)
jQuery Performance Tips and Tricks (2011)Addy Osmani
 
Bcblackpool jquery tips
Bcblackpool jquery tipsBcblackpool jquery tips
Bcblackpool jquery tipsJack Franklin
 
With a Mighty Hammer
With a Mighty HammerWith a Mighty Hammer
With a Mighty HammerBen Scofield
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexyananelson
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVCAlive Kuo
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreRemy Sharp
 
Backbonejs for beginners
Backbonejs for beginnersBackbonejs for beginners
Backbonejs for beginnersDivakar Gu
 
Javascript done right - Open Web Camp III
Javascript done right - Open Web Camp IIIJavascript done right - Open Web Camp III
Javascript done right - Open Web Camp IIIDirk Ginader
 
Building Cloud Castles
Building Cloud CastlesBuilding Cloud Castles
Building Cloud CastlesBen Scofield
 
Intro to Ember.js
Intro to Ember.jsIntro to Ember.js
Intro to Ember.jsJay Phelps
 
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationDjangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationMasashi Shibata
 
Moving from Django Apps to Services
Moving from Django Apps to ServicesMoving from Django Apps to Services
Moving from Django Apps to ServicesCraig Kerstiens
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionPaul Irish
 
Django REST Framework
Django REST FrameworkDjango REST Framework
Django REST FrameworkLoad Impact
 

What's hot (20)

jQuery Performance Tips and Tricks (2011)
jQuery Performance Tips and Tricks (2011)jQuery Performance Tips and Tricks (2011)
jQuery Performance Tips and Tricks (2011)
 
YUI on the go
YUI on the goYUI on the go
YUI on the go
 
Bcblackpool jquery tips
Bcblackpool jquery tipsBcblackpool jquery tips
Bcblackpool jquery tips
 
Drupal, meet Assetic
Drupal, meet AsseticDrupal, meet Assetic
Drupal, meet Assetic
 
With a Mighty Hammer
With a Mighty HammerWith a Mighty Hammer
With a Mighty Hammer
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
 
Yql with geo
Yql with geoYql with geo
Yql with geo
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymore
 
Backbonejs for beginners
Backbonejs for beginnersBackbonejs for beginners
Backbonejs for beginners
 
Javascript done right - Open Web Camp III
Javascript done right - Open Web Camp IIIJavascript done right - Open Web Camp III
Javascript done right - Open Web Camp III
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
 
Building Cloud Castles
Building Cloud CastlesBuilding Cloud Castles
Building Cloud Castles
 
Intro to Ember.js
Intro to Ember.jsIntro to Ember.js
Intro to Ember.js
 
jQuery UI and Plugins
jQuery UI and PluginsjQuery UI and Plugins
jQuery UI and Plugins
 
Intro to Ember.JS 2016
Intro to Ember.JS 2016Intro to Ember.JS 2016
Intro to Ember.JS 2016
 
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationDjangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django application
 
Moving from Django Apps to Services
Moving from Django Apps to ServicesMoving from Django Apps to Services
Moving from Django Apps to Services
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & Compression
 
Django REST Framework
Django REST FrameworkDjango REST Framework
Django REST Framework
 

Viewers also liked

YQL_Batch_Queries_Notes_Examples
YQL_Batch_Queries_Notes_ExamplesYQL_Batch_Queries_Notes_Examples
YQL_Batch_Queries_Notes_ExamplesMark Yashar
 
Take Your Markup to 11
Take Your Markup to 11Take Your Markup to 11
Take Your Markup to 11Emily Lewis
 
XpressEngine : 보드에서 CMS로
XpressEngine : 보드에서 CMS로XpressEngine : 보드에서 CMS로
XpressEngine : 보드에서 CMS로Taegon Kim
 
Universal Rendering
Universal RenderingUniversal Rendering
Universal RenderingTaegon Kim
 
패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션Taegon Kim
 
진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술Taegon Kim
 
Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시Taegon Kim
 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409Minko3D
 
그런데 스타트업이 뭐더라
그런데 스타트업이 뭐더라그런데 스타트업이 뭐더라
그런데 스타트업이 뭐더라Hyun-woo Park
 
React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작Taegon Kim
 
The archived Canadian US Patent Competitive Intelligence Database (2015/10/13)
The archived Canadian US Patent Competitive Intelligence Database (2015/10/13) The archived Canadian US Patent Competitive Intelligence Database (2015/10/13)
The archived Canadian US Patent Competitive Intelligence Database (2015/10/13) Muchiu (Henry) Chang, PhD. Cantab
 
The archived Canadian US Patent Competitive Intelligence Database (2013/12/17)
The archived Canadian US Patent Competitive Intelligence Database (2013/12/17) The archived Canadian US Patent Competitive Intelligence Database (2013/12/17)
The archived Canadian US Patent Competitive Intelligence Database (2013/12/17) Muchiu (Henry) Chang, PhD. Cantab
 

Viewers also liked (20)

YUI Tidbits
YUI TidbitsYUI Tidbits
YUI Tidbits
 
Hack with YUI
Hack with YUIHack with YUI
Hack with YUI
 
YUI (Advanced)
YUI (Advanced)YUI (Advanced)
YUI (Advanced)
 
React js
React jsReact js
React js
 
YQL Case Study
YQL Case StudyYQL Case Study
YQL Case Study
 
YQL_Batch_Queries_Notes_Examples
YQL_Batch_Queries_Notes_ExamplesYQL_Batch_Queries_Notes_Examples
YQL_Batch_Queries_Notes_Examples
 
Take Your Markup to 11
Take Your Markup to 11Take Your Markup to 11
Take Your Markup to 11
 
Stirling cycling case studies
Stirling cycling case studiesStirling cycling case studies
Stirling cycling case studies
 
XpressEngine : 보드에서 CMS로
XpressEngine : 보드에서 CMS로XpressEngine : 보드에서 CMS로
XpressEngine : 보드에서 CMS로
 
jQuery Trend
jQuery TrendjQuery Trend
jQuery Trend
 
Universal Rendering
Universal RenderingUniversal Rendering
Universal Rendering
 
패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션
 
진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술
 
Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시
 
React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409
 
그런데 스타트업이 뭐더라
그런데 스타트업이 뭐더라그런데 스타트업이 뭐더라
그런데 스타트업이 뭐더라
 
React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작
 
TAH Grant Summer 2012: Clark and baker
TAH Grant Summer 2012: Clark and bakerTAH Grant Summer 2012: Clark and baker
TAH Grant Summer 2012: Clark and baker
 
The archived Canadian US Patent Competitive Intelligence Database (2015/10/13)
The archived Canadian US Patent Competitive Intelligence Database (2015/10/13) The archived Canadian US Patent Competitive Intelligence Database (2015/10/13)
The archived Canadian US Patent Competitive Intelligence Database (2015/10/13)
 
The archived Canadian US Patent Competitive Intelligence Database (2013/12/17)
The archived Canadian US Patent Competitive Intelligence Database (2013/12/17) The archived Canadian US Patent Competitive Intelligence Database (2013/12/17)
The archived Canadian US Patent Competitive Intelligence Database (2013/12/17)
 

Similar to YQL & Yahoo! Apis

YQL & Yahoo! APIs - Open Hack India 2011
YQL & Yahoo! APIs - Open Hack India 2011YQL & Yahoo! APIs - Open Hack India 2011
YQL & Yahoo! APIs - Open Hack India 2011Saurabh Sahni
 
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012Saurabh Sahni
 
YDN KR Tech Talk : Pipes 와 YQL 활용하기
YDN KR Tech Talk : Pipes 와 YQL 활용하기YDN KR Tech Talk : Pipes 와 YQL 활용하기
YDN KR Tech Talk : Pipes 와 YQL 활용하기Jinho Jung
 
Query the web with YQL
Query the web with YQLQuery the web with YQL
Query the web with YQLramace
 
A Quick Introduction to YQL
A Quick Introduction to YQLA Quick Introduction to YQL
A Quick Introduction to YQLMax Manders
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePointSPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePointMark Rackley
 
YQL: Master Of the Mix
YQL: Master Of the MixYQL: Master Of the Mix
YQL: Master Of the Mixmarkandey
 
SPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuerySPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQueryMark Rackley
 
YQL Publicis Hackday
YQL Publicis HackdayYQL Publicis Hackday
YQL Publicis HackdayPaul Donnelly
 
YQL and Geo
YQL and GeoYQL and Geo
YQL and Geomambo91
 
SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014Mark Rackley
 
YQL Presentation at Geek Girls Dinner Sydney
YQL Presentation at Geek Girls Dinner SydneyYQL Presentation at Geek Girls Dinner Sydney
YQL Presentation at Geek Girls Dinner SydneyPratibha Gannavarapu
 
SharePoint and jQuery Essentials
SharePoint and jQuery EssentialsSharePoint and jQuery Essentials
SharePoint and jQuery EssentialsMark Rackley
 
YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internetdrgath
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
 

Similar to YQL & Yahoo! Apis (20)

YQL & Yahoo! APIs - Open Hack India 2011
YQL & Yahoo! APIs - Open Hack India 2011YQL & Yahoo! APIs - Open Hack India 2011
YQL & Yahoo! APIs - Open Hack India 2011
 
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
 
Yql hacku iitd_2012
Yql hacku iitd_2012Yql hacku iitd_2012
Yql hacku iitd_2012
 
YDN KR Tech Talk : Pipes 와 YQL 활용하기
YDN KR Tech Talk : Pipes 와 YQL 활용하기YDN KR Tech Talk : Pipes 와 YQL 활용하기
YDN KR Tech Talk : Pipes 와 YQL 활용하기
 
Query the web with YQL
Query the web with YQLQuery the web with YQL
Query the web with YQL
 
SEA Open Hack - YQL
SEA Open Hack - YQLSEA Open Hack - YQL
SEA Open Hack - YQL
 
YQL - HackU IIT Madras 2012
YQL - HackU IIT Madras 2012YQL - HackU IIT Madras 2012
YQL - HackU IIT Madras 2012
 
A Quick Introduction to YQL
A Quick Introduction to YQLA Quick Introduction to YQL
A Quick Introduction to YQL
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePointSPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
 
ApacheCon 2005
ApacheCon 2005ApacheCon 2005
ApacheCon 2005
 
YQL: Master Of the Mix
YQL: Master Of the MixYQL: Master Of the Mix
YQL: Master Of the Mix
 
SPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuerySPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuery
 
YQL Publicis Hackday
YQL Publicis HackdayYQL Publicis Hackday
YQL Publicis Hackday
 
YQL and Geo
YQL and GeoYQL and Geo
YQL and Geo
 
Jquery Fundamentals
Jquery FundamentalsJquery Fundamentals
Jquery Fundamentals
 
SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014
 
YQL Presentation at Geek Girls Dinner Sydney
YQL Presentation at Geek Girls Dinner SydneyYQL Presentation at Geek Girls Dinner Sydney
YQL Presentation at Geek Girls Dinner Sydney
 
SharePoint and jQuery Essentials
SharePoint and jQuery EssentialsSharePoint and jQuery Essentials
SharePoint and jQuery Essentials
 
YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internet
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

YQL & Yahoo! Apis

  • 1. YQL & YAHOO! APIS Jai Santhosh Frontend Engineer, Hacker Yahoo!
  • 2. What We’re Going to Cover • YQL Overview • Making Queries and the Console Sandbox • Demo • Open Data Tables and Execute (Server-Side JavaScript) • Final Lessons
  • 3. Data manipulation Hacks = + Data visualization
  • 4. The web is a large pile of data!
  • 8. Trouble with Data • Need to find data API • Get Access – Signup for key • Find data endpoint • Read docs to learn what parameters you have • Get data in obscure format • Use data after converting and filtering • More APIs you use, more is your annoyance
  • 9. To make data access easy on the web, Yahoo! created YQL
  • 10. = YQL turns web services and data on the web into databases.
  • 11. select {what} from {where} where {conditions}
  • 12. You can select, filter, sort and limit data and you can even insert, update and delete from it.
  • 14. Finding Videos about Bangalore • SELECT * FROM youtube.search where query='bangalore'
  • 15. Selecting Photos of RHOK • SELECT * FROM flickr.photos.search where text="rhok"
  • 16. Inserting data INSERT INTO bitly.shorten (login, apiKey, longUrl) VALUES ('ME', 'API_KEY', 'http://yahoo.com')
  • 17. updating data UPDATE social.profile.status SET status="Using YQL UPDATE” WHERE guid="NJFIDHVPVVISDX7UKED2WHU"
  • 18. Accessing Private Data • http://query.yahooapis.com/v1/yql Uses OAuth 1.0 for authorization OAuth is complicated – use one of our SDKs at https://github.com/yahoo
  • 19. Retrieving my profile • SELECT * FROM social.contacts WHERE guid=me
  • 20. Using the YQL Console makes it very easy to use it.
  • 21.
  • 22.
  • 23. url structure • http://query.yahooapis.com/v1/yql?[params] • http://query.yahooapis.com/v1/public/yql?[para ms] Params q= [ YQL QUERY ] format = [ XML / JSON ] diagnostics = [ true / false ] debug = [ true / false ] callback = [ function name ]
  • 25. Query Samples • SELECT * FROM twitter.search where q='hackathon’ limit 5 • select * from answers.search where query="cars" and type="resolved" • select * from google.translate where q="this is a test" and target="hi"; • select * from google.translate where q in (select text from twitter.search where q="hackday") and target='hi'; • select * from search.termextract where context in (select description from rss where url='http://rss.news.yahoo.com/rss/topstories')
  • 26. Query Samples • select * from yahoo.finance.quotes where symbol in ("YHOO","AAPL","GOOG","MSFT") • insert into yahoo.shortener (url, keysize) values ('http://www.javarants.com', 5) • select * from craigslist.search where location="bangalore" and type="apa" and query="indiranagar” • select * from html where url="http://finance.yahoo.com/q?s=yhoo" and xpath='//div[@id="yfi_headlines"]/div[2]/ul/li/a’
  • 27. Making Requests: Flickr URLs <photo farm="3" id="5708163920" isfamily="0" isfriend="0" ispublic="1" owner="31832337@N04" secret="0075137487" server="2496" title="San Francisco"/>
  • 28. Making Requests: Flickr URLs Photo URL http://farm{$farm}.static.flickr.com/{$server}/{$id }_{$secret}.jpg Photo Page URL http://www.flickr.com/photos/{$owner}/{$id} Photo Owner Profile URL http://www.flickr.com/photos/{$owner}
  • 29. YQL is open – you can get your data tables in our system
  • 30. Craigslist data table <table> <meta> <author>Yahoo! Inc.</author> <documentationURL>http://craigslist.org/</documentationURL> <sampleQuery> select * from {table} where location="sfbay" and type="sss" and query=“bike” </sampleQuery> </meta> <bindings> … </bindings> </table>
  • 31. Craigslist data table <table> <meta> … </meta> <bindings> <select itemPath="" produces="XML"> <urls> <url>http://{location}.craigslist.org/search/{type}?format=rss</url> </urls> <inputs> <key id="location" type="xs:string" paramType="path" required="true"/> <key id="type" type="xs:string" paramType="path" required="true"/> <key id="query" type="xs:string" paramType="query" required="true"/> </inputs> </select> </bindings> </table>
  • 32. Upload XML to our Github http://github.com/yql/yql-tables
  • 33. Or to your own Site • The USE clause USE 'http://www.mysite.com/my_table.xml' AS mytable; SELECT * FROM mytable WHERE user='john_doe'
  • 34. You can even write server side javascript to build a webservice
  • 35. Final Lessons • YQL is a skeleton key for all Yahoo! APIs • Open data tables allow you to create new data feeds out of one or many different raw sources • There are 1200+ Tables in YQL covering all major APIs on the web • Use SDKs when accessing private data that requires OAuth
  • 36. Final Lessons: Links • All Yahoo! APIs and Services • http://developer.yahoo.com/everything.html • YQL Documentation • http://developer.yahoo.com/yql • YQL Console • http://developer.yahoo.com/yql/console • YQL Github Account (Contribute Tables) • http://github.com/yql/yql-tables
  • 38. Questions? http://www.slideshare.net/jaisa nth Jai Santhosh Twitter: @jaisanth Github: http://github.com/jaisanth

Editor's Notes

  1. Give you an overview of YQLHow can you use it for your hacksWe will see lots of examples How you can extend by creating new APIs out of webpages/data sources and for executing JS on server orQnA
  2. A.K,.A a big waste of time
  3. A.K,.A a big waste of time
  4. Youtube, Twitter, Facebook, Google, Amazon, eBay, Craigslist, Imdb, Last.fm
  5. A.K,.A a big waste of time
  6. Search, Flickr, Geo, Placemaker, placefinder, Social, News, Finance, Mail, Messenger, Address Book, Maps, Anwsers
  7. A.K,.A a big waste of time
  8. A.K,.A a big waste of time
  9. A.K,.A a big waste of time
  10. A.K,.A a big waste of time
  11. YQL is a sql like language
  12. A.K,.A a big waste of time
  13. A.K,.A a big waste of time
  14. A.K,.A a big waste of time
  15. Community ResourcesHelping 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.ForumsYDN General BoardsDesign PatternsHotJobsSearchYOSAPTMusicWidgetsGeoPlanetOpenIDY! GroupsAddress BookAnswersFireEagleDel.icio.usTrafficFlickrMailSearchBOSSMapsJavaScriptSilverlightMerchant SolutionsSearch MarketingExceptional PerformanceYUIJava.NetFlashYDN EUAuthPHPPythonRubyPerlEventsWant 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.ExpertsYahoo! 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.BlogThe 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 TheaterYDN 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.