YQL and YUI video - showing how to build apps with web services and based on own APIs

YQl and YUI video

^ Clicky, also available for download

YQL Basics

Photos from flickr:

YQL statement

select * from flickr.photos.search where text="cat" and license=4

Output

Demo


<script type="text/javascript" charset="utf-8">
function photos(o){
document.getElementById('photos').innerHTML = o.results;
}
</script>
<script  src="http://query.yahooapis.com/v1/public/yql?
q=select%20*%20from%20flickr.photolist%20where%20
text%3D%22cat%22&format=xml&env=store
%3A%2F%2Fdatatables.org%2Falltableswithkeys&
callback=photos">
</script>

Boagworld RSS:

YQL statement

select title,link from rss where url="http://feeds.feedburner.com/Boagworldcom-ForThoseManagingWebsites"

Output

Demo


function rss(o){
  var out = '<ul>';
  var items = o.query.results.item;
  for(var i=0;i<items.length;i++){
    out += '<li><a href="'+ 
    items[i].link + 
    '">' + 
    items[i].title + 
    '</a></li>';
  }
  out += '</ul>';
  document.getElementById('rss').innerHTML = out;
}
</script>
<script src="http://query.yahooapis.com/v1/public/yql?
q=select%20title%2Clink%20from%20rss%20where%20url%3D%22
http%3A%2F%2Ffeeds.feedburner.com%2FBoagworldcom-ForThoseManagingWebsites
%22&format=json&env=store%3A%2F%2Fdatatables.org%2
Falltableswithkeys&callback=rss">
</script>             

Boagworld RSS in "Spanish":

YQL statement

select * from google.translate where q in (
select title from rss where url="http://feeds.feedburner.com/Boagworldcom-ForThoseManagingWebsites"
) and target="es"

Output

Demo


function rsses(o){
  var out = '<ul>';
  var items = o.query.results.translatedText;
  for(var i=0;i<items.length;i++){
    out += '<li>' + items[i] + '</li>';
  }
  out += '</ul>';
  document.getElementById('rsses').innerHTML = out;
}
</script>
<script src="http://query.yahooapis.com/v1/public/yql?
q=select%20*%20from%20google.translate%20where%20q%20in%20(
select%20title%20from%20rss%20where%20url%3D%22
http%3A%2F%2Ffeeds.feedburner.com%2FBoagworldcom-ForThoseManagingWebsites%22
)%20and%20target%3D%22es%22&format=json&env=store
%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=rsses"></script>             

Healthcare keywords from New York Times headlines

YQL statement

select * from search.termextract where context in (select body from nyt.article.search where query="healthcare")

Output

Demo


  <script type="text/javascript" charset="utf-8">
  function nyt(o){
    var out = '<ul>';
    var items = o.query.results.Result;
    for(var i=0;i<items.length;i++){
    out += '<li>' + items[i] + '</li>';
    }
    out += '</ul>';
    document.getElementById('nyt').innerHTML = out;
  }
  </script>
  <script type="text/javascript" src="http://query.yahooapis.com/v1/public/yql?
  q=select%20*%20from%20search.termextract%20where%20context
  %20in%20(select%20body%20from%20nyt.article.search
  %20where%20query%3D%22healthcare%22)&format=json
  &env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys
  &callback=nyt">
  </script>

Geographical locations on Boagworld.com

YQL statement

select * from geo.placemaker where documentURL="http://boagworld.com" and documentType="text/html" and appid=""

Output

Demo


function places(o){
  var out = '<ul>';
  var items = o.query.results.matches.match;
  for(var i=0;i<items.length;i++){
  out += '<li>' + items[i].place.name + 
         ' (' + 
          items[i].place.centroid.latitude + 
          ',' + 
          items[i].place.centroid.longitude + 
         ')'+'</li>';
  }
  out += '</ul>';
  document.getElementById('places').innerHTML = out;
}
</script>
<script type="text/javascript" src="http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20geo.placemaker%20WHERE%20documentURL%20%3D%20%22http%3A%2F%2Fboagworld.com%22%20and%20documentType%3D%22text%2Fhtml%22%20and%20appid%3D%22%22&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=places">
</script>