Google APPs and APIs


Published on

Google APPs and Google APIs

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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<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*;<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 /><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 <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.<br /><br />Google-Maps-API Developer Forum:<br /><br />Maps API blog:<br />Mike William’s tutorials:<br /><br />Google Maps Resources<br />
  29. 29. Google Earth API<br /><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 /><br />SketchUp<br /><br />3D warehouse<br /><br />Earth<br /><br />Geo 3D Pipeline<br />
  39. 39. Google AJAX Search API<br /><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 /><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 /><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<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<br />Google API Explorer<br />
  64. 64.
  65. 65. Google API Periodic Table<br /><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 /><br />Google Ambassador <br />Contact Googlers through the conferences <br />(e.g. G-Egypt)<br />