Your SlideShare is downloading. ×
Google APIs<br />By<br />Mohammed Farrag<br />Shibin Al-Kawm GTUG Admin<br />
What is API ?!<br />About Google API.<br />Start Using Google API.<br />Google API in different languages.<br />Manage you...
Google API<br />
Allows search over Google’s entire index of billions of web pages.<br />Enabling developers to give customers more informa...
• But:<br />  – Limit of 1,000 queries per day (without special arrangement).<br />  – Limit of 10 results per query (top ...
• Register http://code.google.com/intl/ar/apis/base/signup.html<br />• Agree to terms and conditions<br />• Get key<br /> ...
Google Java API<br />• API for Java is an executable jar<br />• Set appropriate classpath<br />• Some sample code:<br />im...
So How do I Query Google?<br />#!/usr/local/bin/perl –w<br />use SOAP::Lite;<br /># Configuration<br />$key   = "Your Key ...
Search Contd…<br />$result = $service<br />    -> doGoogleSearch(<br />                      $key,                        ...
Limit is 1,000 queries<br />  – Catch GoogleSearchFault, or,<br />  – Local counter to track<br />  – In any case, put thr...
getEstimatedTotalResultsCount<br />max = googResults.getestimatedTotalresultsCount();<br />– max could be more than 10<br ...
Geo-Google<br />
The world is 3D!<br />Users implicitly understand 3D from... the real world!<br />Very effective in communicating geospati...
Google Maps<br />http://code.google.com/intl/ar/apis/maps/<br />
A Year In Maps API Time<br />Wikipedia and Panoramio API Layers<br />Find IP-based location through API<br />Maps API for ...
A Year in Maps API Time: More Security Location<br />August 2008: Launched SSL for Maps API Premier<br /><Insert great exa...
A Year in Maps API Time: More Layers<br />September 2008: Launched GLayer for Wikipedia and Panoramio<br />18<br />
19<br />A Year In Maps API Time: More Imagery/Data<br />September 2008: Static Maps API Supports Satellite, Hybrid, and Te...
A Year in Maps API Time: More Geocoding<br />October 2008: Launched reverse geocoding in the API<br />20<br />
A Year in Maps API Time: More Flash<br />November 2008: Launched AIR Support in Maps API for Flash<br />21<br />
A Year in Maps API Time: More Data (MapMaker)<br />December 2008: Launched MapMaker tiles in the API<br />Lahore, Pakistan...
A Year in Maps API Time: More Platforms<br />January 2009: Existing mashups work in iPhone browser<br /><ul><li>Static Map...
JavaScript Maps API (iPhone)
MapView for Android applications
Apple Announces Launch of iPhone SDK 3.0 with MapKit</li></ul>23<br />
Example<br />
http://code.google.com/<br />http://www.google.com/apis/maps<br />Google-Maps-API Developer Forum:<br />http://groups.goog...
Google Earth API<br />http://code.google.com/intl/ar/apis/earth/<br />
1. Search panel - Use this to find places and directions and manage search results. Google Earth EC may display additional...
8. Measure - Click this to measure a distance or area size.<br />9. Email - Click this to email a view or image.<br />10. ...
15. 3D Viewer - View the globe and its terrain in this window.<br />16. Status bar - View coordinate, elevation and imager...
View an image of your home, school or any place on Earth - Click Fly To. Enter the location in the<br />Go on a tour of th...
Watch This !!<br />What about streets ?!<br />
Google geo products aim to utilize the effectiveness of 3D<br />The world is 3D!<br />
Building Maker - create 3D<br />SketchUp - refine 3D<br />3D warehouse - store 3D<br />Earth - present 3D<br />Google API ...
Building Maker<br />sketchup.google.com/3dwarehouse/buildingmaker<br />SketchUp<br />sketchup.google.com<br />3D warehouse...
Google AJAX Search API<br />http://code.google.com/intl/ar/apis/loader/signup.html<br />
function OnLoad() {<br />var sc = new GSearchControl();<br />sc.addSearcher(new GlocalSearch());<br />sc.addSearcher(new G...
Architecture Block Diagram<br />
Example<br />
Google Wave<br />http://code.google.com/intl/ar/apis/wave/<br />
Wave is collaboration on:<br />Business<br />documents, processes, meetings<br />Education<br />learning, research, projec...
Wave is communication that streamlines your collaboration.<br />Wave is live and real-time.<br />Simply, It’s Facebook + M...
What is rich content?<br />Any external content added to a wave.<br />photos, music, video<br />documents, diagrams, chart...
With rich content, users want to ...<br />import it<br />view it<br />play it<br />share it<br />edit it<br />convert it<b...
Google Analytics Web Interface<br />http://code.google.com/intl/ar/apis/analytics/<br />
Google Analytics Web Interface<br />
AdWords API<br />AdSense API<br />Google Checkout Fast, secure checkout across the Web<br />YouTube API<br />Google Transl...
Users can write programs and applications to perform functions in each of these five areas:<br />Account management – chan...
REST == Representational State Transfer<br />Client and servers transferring resource representations<br />Good for cached...
SOAP is language independent <br />
WSDL<br />Web Services Description Language<br />The standard format for describing a web service. <br />Expressed in XML,...
SOAP – Simple Object Access Protocol<br />SOAP stands for Simple Object Access Protocol <br />SOAP is a communication prot...
Future of Google API<br />
Tool to test your API without the need to download it.<br />It does not include all the APIs but Google is working on it.<...
Google API Periodic Table<br />http://code.google.com/intl/ar/more/table/<br />
Upcoming SlideShare
Loading in...5
×

Google APPs and APIs

1,248

Published on

Google APPs and Google APIs

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,248
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Google APPs and APIs"

  1. 1. Google APIs<br />By<br />Mohammed Farrag<br />Shibin Al-Kawm GTUG Admin<br />
  2. 2. What is API ?!<br />About Google API.<br />Start Using Google API.<br />Google API in different languages.<br />Manage your business using Google API.<br />How Google builds API ?!<br />Future of Google API.<br />Google API Code Explorer.<br />Google API Periodic Table.<br />Google Competitions.<br />Be Googler !!<br />Overview<br />
  3. 3. Google API<br />
  4. 4. Allows search over Google’s entire index of billions of web pages.<br />Enabling developers to give customers more information with the interactivity consumers and business users expect.<br />Uses SOAP - Simple Object Access Protocol<br /> – used for information exchange (esp. http).<br />Google APIs<br />
  5. 5. • But:<br /> – Limit of 1,000 queries per day (without special arrangement).<br /> – Limit of 10 results per query (top 10)<br />• Can be overcome somewhat through query refinement).<br />
  6. 6. • Register http://code.google.com/intl/ar/apis/base/signup.html<br />• Agree to terms and conditions<br />• Get key<br /> – A 32 byte code<br /> – Needed for each query submission<br /> – E-mailed to you<br />• Download API<br />Getting Started<br />
  7. 7. Google Java API<br />• API for Java is an executable jar<br />• Set appropriate classpath<br />• Some sample code:<br />import com.google.soap.search.*;<br />…<br />GoogleSearchgoogs = new GoogleSearch();<br />googs.setKey(myGoogleKey);<br />googs.setQueryString(“TREC 2005 papers");<br />GoogleSearchResultgoogResults = googs.doSearch();<br />GoogleSearchResultelementr.getResultElements();<br />max = googResults.getEstimatedTotalResultsCount();<br />GoogleSearchResultElementmyresults[] = googResults.getResultElements();<br />String a_URL = (String) myresults[1].getURL();<br />Google Java API<br />
  8. 8. So How do I Query Google?<br />#!/usr/local/bin/perl –w<br />use SOAP::Lite;<br /># Configuration<br />$key = "Your Key Goes Here";<br /># Initialize with local SOAP::Lite file<br />$service = SOAP::Lite<br /> -> service('file:GoogleSearch.wsdl');<br />$query= “duluth”; <br />
  9. 9. Search Contd…<br />$result = $service<br /> -> doGoogleSearch(<br /> $key, # key<br /> $query, # search query<br /> 0, # start results<br /> 10, # max results<br /> "false", # filter: boolean<br /> "", # restrict (string)<br /> "false", # safeSearch: boolean<br /> "", # lr<br /> "", # ie<br /> "" # oe<br /> );<br />
  10. 10. Limit is 1,000 queries<br /> – Catch GoogleSearchFault, or,<br /> – Local counter to track<br /> – In any case, put thread to sleep for 24 hrs.<br /> • Google server may get overloaded<br /> – In error processing, capture<br />“Please try again in 30 seconds”<br /> – Put in 30 second sleep, and retry query<br />Programming Notes<br />
  11. 11. getEstimatedTotalResultsCount<br />max = googResults.getestimatedTotalresultsCount();<br />– max could be more than 10<br /> – max is an estimate; could be wrong<br />• Search only over main index (no GoogleScholar, Froogle, etc..).<br />
  12. 12. Geo-Google<br />
  13. 13. The world is 3D!<br />Users implicitly understand 3D from... the real world!<br />Very effective in communicating geospatial information.<br />Google Geo APIs<br />
  14. 14. Google Maps<br />http://code.google.com/intl/ar/apis/maps/<br />
  15. 15.
  16. 16. A Year In Maps API Time<br />Wikipedia and Panoramio API Layers<br />Find IP-based location through API<br />Maps API for Flash AIR Support<br />17 new areas covered by StreetView API<br />Monetize your mashup with Googlebar (Local Search)<br />Mashups work in iPhone browser<br />Earth API Launches<br />Walking Directions Added to API<br />February<br />March<br />April<br />May<br />May<br />June<br />July<br />August<br />September<br />October<br />November<br />December<br />January<br />Enable API sites to easily replicate maps.google.com <br />Reverse Geocoding API<br />Launched SSL support in Maps API Premier<br />Maps API for Flash Launches<br />MapMaker tiles in API<br />Maps API exits beta<br />Static Maps API Support Satellite Tiles<br />MarkerClusterer Launches<br />16<br />
  17. 17. A Year in Maps API Time: More Security Location<br />August 2008: Launched SSL for Maps API Premier<br /><Insert great example of totally secure site here that wants us to broadcast their site to everyone><br />17<br />
  18. 18. A Year in Maps API Time: More Layers<br />September 2008: Launched GLayer for Wikipedia and Panoramio<br />18<br />
  19. 19. 19<br />A Year In Maps API Time: More Imagery/Data<br />September 2008: Static Maps API Supports Satellite, Hybrid, and Terrain AND Geoeye-1 Launches<br />
  20. 20. A Year in Maps API Time: More Geocoding<br />October 2008: Launched reverse geocoding in the API<br />20<br />
  21. 21. A Year in Maps API Time: More Flash<br />November 2008: Launched AIR Support in Maps API for Flash<br />21<br />
  22. 22. A Year in Maps API Time: More Data (MapMaker)<br />December 2008: Launched MapMaker tiles in the API<br />Lahore, Pakistan in Google Maps(circa Where 2.0 2008)<br />Lahore, Pakistan in Google Maps(circa Where 2.0 2009)<br />22<br />
  23. 23. A Year in Maps API Time: More Platforms<br />January 2009: Existing mashups work in iPhone browser<br /><ul><li>Static Maps API (All Platforms)
  24. 24. JavaScript Maps API (iPhone)
  25. 25. MapView for Android applications
  26. 26. Apple Announces Launch of iPhone SDK 3.0 with MapKit</li></ul>23<br />
  27. 27. Example<br />
  28. 28. http://code.google.com/<br />http://www.google.com/apis/maps<br />Google-Maps-API Developer Forum:<br />http://groups.google.com/group/Google-Maps-API?lnk=li<br />Maps API blog: http://googlemapsapi.blogspot.com/<br />Mike William’s tutorials: http://www.econym.demon.co.uk/googlemaps/<br />http://del.icio.us/chanezon/google+maps<br />Google Maps Resources<br />
  29. 29. Google Earth API<br />http://code.google.com/intl/ar/apis/earth/<br />
  30. 30.
  31. 31. 1. Search panel - Use this to find places and directions and manage search results. Google Earth EC may display additional tabs here.<br />2. Overview map - Use this for an additional perspective of the Earth.<br />3. Hide/Show sidebar - Click this to conceal or the display the side bar (Search, Places and Layers<br />panels).<br />4. Placemark - Click this to add a placemark for a location.<br />5. Polygon - Click this to add a polygon.<br />6. Path - Click this to add a path (line or lines).<br />7. Image Overlay - Click this to add an image overlay on the Earth.<br />
  32. 32. 8. Measure - Click this to measure a distance or area size.<br />9. Email - Click this to email a view or image.<br />10. Print - Click this to print the current view of the Earth.<br />11. Show in Google Maps - Click this to show the current view in Google Maps in your web browser<br />12. Navigation controls - Use these to tilt, zoom and move around your viewpoint (see below).<br />13. Layers panel - Use this to display points of interest.<br />14. Places panel - Use this to locate, save, organize and revisit placemarks.<br />
  33. 33. 15. 3D Viewer - View the globe and its terrain in this window.<br />16. Status bar - View coordinate, elevation and imagery streaming status here.<br />
  34. 34. View an image of your home, school or any place on Earth - Click Fly To. Enter the location in the<br />Go on a tour of the world <br />Get driving directions from one place to another and fly (follow) the route - See Getting Directions<br />View other cool locations and features created by other Google Earth users - In the Layers panel.<br /> Go Through Streets, See live show.<br />What I can do with Google Earth ?!<br />
  35. 35. Watch This !!<br />What about streets ?!<br />
  36. 36. Google geo products aim to utilize the effectiveness of 3D<br />The world is 3D!<br />
  37. 37. Building Maker - create 3D<br />SketchUp - refine 3D<br />3D warehouse - store 3D<br />Earth - present 3D<br />Google API for 3D<br />
  38. 38. Building Maker<br />sketchup.google.com/3dwarehouse/buildingmaker<br />SketchUp<br />sketchup.google.com<br />3D warehouse<br />sketchup.google.com/3dwarehouse<br />Earth<br />earth.google.com<br />Geo 3D Pipeline<br />
  39. 39. Google AJAX Search API<br />http://code.google.com/intl/ar/apis/loader/signup.html<br />
  40. 40. function OnLoad() {<br />var sc = new GSearchControl();<br />sc.addSearcher(new GlocalSearch());<br />sc.addSearcher(new GwebSearch());<br />sc.addSearcher(new GvideoSearch());<br />sc.addSearcher(new GblogSearch());<br />sc.draw(searchContainer);<br />sc.execute(“Seattle Mariners”);<br />}<br /><body onload=“OnLoad()”><br /><div id=“searchContainer”/><br /></body><br />“Hello World”<br />
  41. 41. Architecture Block Diagram<br />
  42. 42. Example<br />
  43. 43. Google Wave<br />http://code.google.com/intl/ar/apis/wave/<br />
  44. 44. Wave is collaboration on:<br />Business<br />documents, processes, meetings<br />Education<br />learning, research, projects<br />Consumer<br />photo albums, party planning, community groups, hobbies<br />What is Google Wave?<br />
  45. 45. Wave is communication that streamlines your collaboration.<br />Wave is live and real-time.<br />Simply, It’s Facebook + MediaFire + Yahoo Messenger + Elearning.<br />
  46. 46. What is rich content?<br />Any external content added to a wave.<br />photos, music, video<br />documents, diagrams, charts, tables<br />custom file types: text, xml, csv<br />
  47. 47. With rich content, users want to ...<br />import it<br />view it<br />play it<br />share it<br />edit it<br />convert it<br />export it<br />publish it<br />synchronize it<br />and more...<br />
  48. 48. Google Analytics Web Interface<br />http://code.google.com/intl/ar/apis/analytics/<br />
  49. 49. Google Analytics Web Interface<br />
  50. 50.
  51. 51.
  52. 52.
  53. 53.
  54. 54. AdWords API<br />AdSense API<br />Google Checkout Fast, secure checkout across the Web<br />YouTube API<br />Google Translate API<br />And many more !!<br />Other Google APIs <br />
  55. 55. Users can write programs and applications to perform functions in each of these five areas:<br />Account management – change user preferences such as email address, password and more at the account level.<br />Campaign management – manage bids, update creative and other campaign operations<br />Reporting – generate reports to integrate directly into local databases<br />Traffic estimation – receive traffic estimates for individual keywords<br />Keyword generation – generate keywords from a base keyword or a web page<br />AdWords API<br />
  56. 56.
  57. 57. REST == Representational State Transfer<br />Client and servers transferring resource representations<br />Good for cached and layered systems (like the web)<br />In HTTP, this means verbs acting on resource URIs<br />GET http://gdata.youtube.com/feeds/api/channels<br />How Google Builds API ?!<br />
  58. 58. SOAP is language independent <br />
  59. 59. WSDL<br />Web Services Description Language<br />The standard format for describing a web service. <br />Expressed in XML, a WSDL definition describes how to access a web service and what operations it will perform. <br />This is the most important file (only) to use the API with Perl.<br />
  60. 60. SOAP – Simple Object Access Protocol<br />SOAP stands for Simple Object Access Protocol <br />SOAP is a communication protocol <br />SOAP is for communication between applications <br />SOAP is a format for sending messages <br />SOAP is designed to communicate via Internet <br />SOAP is platform independent <br />SOAP is based on XML <br />SOAP will be developed as a W3C standard <br />
  61. 61. Future of Google API<br />
  62. 62.
  63. 63. Tool to test your API without the need to download it.<br />It does not include all the APIs but Google is working on it.<br />Can be accessed from https://code.google.com/apis/explorer/<br />Google API Explorer<br />
  64. 64.
  65. 65. Google API Periodic Table<br />http://code.google.com/intl/ar/more/table/<br />
  66. 66.
  67. 67. Now.. Google may earn more money from me -except Google business APIs- What About earning money from Google ?!<br />Google offers many competition for developers to earn money.<br />Google supports Open Source Project Development.<br />
  68. 68. 1. Google Code Jam<br />2. Google Summer of Code.<br />3. Google Internships.<br />Google Competitions<br />
  69. 69. Be closer to Google more than ever !!<br />Google Technology User Groups.<br />http://wiki.gtugs.org/so-you-want-to-start-a-gtug<br />Google Ambassador <br />Contact Googlers through the conferences <br />(e.g. G-Egypt)<br />

×