Your SlideShare is downloading. ×
0
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Google APPs and APIs
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Google APPs and APIs

1,245

Published on

Google APPs and Google APIs

Google APPs and Google APIs

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

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Google APIs<br />By<br />Mohammed Farrag<br />Shibin Al-Kawm GTUG Admin<br />
  • 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. Google API<br />
  • 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. • 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. • 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. 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. 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. 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. 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. 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. Geo-Google<br />
  • 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. Google Maps<br />http://code.google.com/intl/ar/apis/maps/<br />
  • 15.
  • 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. 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. A Year in Maps API Time: More Layers<br />September 2008: Launched GLayer for Wikipedia and Panoramio<br />18<br />
  • 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. A Year in Maps API Time: More Geocoding<br />October 2008: Launched reverse geocoding in the API<br />20<br />
  • 21. A Year in Maps API Time: More Flash<br />November 2008: Launched AIR Support in Maps API for Flash<br />21<br />
  • 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. 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. JavaScript Maps API (iPhone)
  • 25. MapView for Android applications
  • 26. Apple Announces Launch of iPhone SDK 3.0 with MapKit</li></ul>23<br />
  • 27. Example<br />
  • 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. Google Earth API<br />http://code.google.com/intl/ar/apis/earth/<br />
  • 30.
  • 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. 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. 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. 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. Watch This !!<br />What about streets ?!<br />
  • 36. Google geo products aim to utilize the effectiveness of 3D<br />The world is 3D!<br />
  • 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. 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. Google AJAX Search API<br />http://code.google.com/intl/ar/apis/loader/signup.html<br />
  • 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. Architecture Block Diagram<br />
  • 42. Example<br />
  • 43. Google Wave<br />http://code.google.com/intl/ar/apis/wave/<br />
  • 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. 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. 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. 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. Google Analytics Web Interface<br />http://code.google.com/intl/ar/apis/analytics/<br />
  • 49. Google Analytics Web Interface<br />
  • 50.
  • 51.
  • 52.
  • 53.
  • 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. 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.
  • 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. SOAP is language independent <br />
  • 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. 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. Future of Google API<br />
  • 62.
  • 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.
  • 65. Google API Periodic Table<br />http://code.google.com/intl/ar/more/table/<br />
  • 66.
  • 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. 1. Google Code Jam<br />2. Google Summer of Code.<br />3. Google Internships.<br />Google Competitions<br />
  • 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 />

×