Upload
jasonacooper
View
621
Download
1
Tags:
Embed Size (px)
DESCRIPTION
In addition to its own suite of web applications, Google offers a wealth of world-class APIs and tools that can help startups and well-established businesses alike easily (and cheaply!) add significant value to their desktop, mobile, and web-based applications.In this presentation, I will provide a broad overview of the 70 APIs and developer tools that Google offers, touching on everything from the assortment of Apps, AJAX, and geo APIs (e.g. Calendar, YouTube, Maps, and Search, just to name a few), open web initiatives, mobile and social products including Android and Buzz, development/hosting solutions, and more. Rather than diving deeply into one API in particular -- that comes a bit later -- this session is designed to open your eyes to the bounty of Google APIs available and help inspire you to find creative ways of using them to enhance your present or future business, or even, dare I say it, change the world.
Citation preview
Overview of GoogleDeveloper Technologies
Jason CooperDeveloper Programs Engineer
February 26th, 2010St. Louis Innovation Camp
What is an API?
Application Programming Interface
Application Programming Interfaces...enable applications to interact with other applications.
Application Programming Interfaces...
enable developers to build interesting applicationsmore easily, quickly and cheaply than otherwise possible.
Application Programming Interfaces...
enable developers to "mash up" data from various sources.
Don't reinvent the wheel:leverage others' strengths
http://www.programmableweb.com
Great resource for API development
Categorized directory of APIsDirectory of mashups
70+ APIs and developer toolsfor web, mobile, and desktop apps
http://code.google.com/more
What's in it for Google?
Users can more easily import (and export!) their data.
Google application users get more features that they want.
The Web becomes more interesting and engaging for more users.
Data Liberation
http://www.dataliberation.org/
Classes of Google developer technology
Product APIs
Application platforms
Developer tools
Classes of Google developer technology
Product APIs
Application platforms
Developer tools
1. Product APIs
AJAX APIsSearchMapsEarthTranslate
Google Data APIsGoogle Apps
Google CalendarGoogle FinanceGoogle HealthGoogle Spreadsheets
YouTube
Google Data APIs (Atom + more)
Google Data APIs (Atom + more)
Data Model has 2 base types:feed: a container of data itemsentry: a single data item
APP has 4 operations:Create (POST)Retrieve (GET)Update (PUT)Delete (DELETE)
The Google Data Protocol extends AtomPub for processing queries, authentication, and batch requests.
Google Data APIs (Atom + more)
<?xml version='1.0' encoding='utf-8'?><feed> <title>Foo</title> <updated>2006-01-23T16:25:00-08:00</updated> <id>http://www.example.com/myFeed</id> <author> <name>Jo March</name> </author> <link href='/myFeed' rel='self'/> <entry> ... </entry> <entry> ... </entry></feed>
Google Data APIs: retrieving
Request:
GET /myFeed
Response:200 OK
<?xml version='1.0' encoding='utf-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/"C0QBRXcycSp7ImA9WxRVFUk."'> <title>Foo</title> <updated>2006-01-23T16:25:00-08:00</updated> <id>http://www.example.com/myFeed</id> <author> <name>Jo March</name> </author> <link href='/myFeed' rel='self'/></feed>
Google Data APIs: creating
Request:
POST /myFeed
<?xml version='1.0' encoding='utf-8'?><entry xmlns='http://www.w3.org/2005/Atom'> <author> <name>Elizabeth Bennet</name> <email>[email protected]</email> </author> <title type='text'>Entry 1</title> <content type='text'> This is my entry </content></entry>
Response:201 CREATED
<?xml version='1.0' encoding='utf-8'?><entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='"CUUEQX47eCp7ImA9WxRVEkQ."'> <id>http://www.example.com/id/1</id> <link rel='edit' href='http://example.com/myFeed/1/1/'/> <updated>2006-01-23T16:26:03-08:00</updated> <author> <name>Elizabeth Bennet</name> <email>[email protected]</email> </author> <title type='text'>Entry 1</title> <content type='text'>This is my entry</content></entry>
Google Data APIs: querying
Request:
GET /myFeed?q=this
Response:200 OK
<?xml version='1.0' encoding='utf-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/"S0wCTlpIIip7ImA0X0QI"'> ... <entry gd:etag='"CUUEQX47eCp7ImA9WxRVEkQ."'> <id>http://www.example.com/id/1</id> <link rel='edit' href='http://example.com/myFeed/1/'/> <updated>2006-01-23T16:26:03-08:00</updated> <author> <name>Elizabeth Bennet</name> <email>[email protected]</email> </author> <title type='text'>Entry 1</title> <content type='text'>This is my entry</content> </entry></feed>
Classes of Google developer technology
Product APIs
Application platforms
Developer tools
2. Application platforms
Web
Android
OpenSocial
Android
At the close of 2009:
18-20 devices30+ carriers in 21 countries12,000+ applications in the Android MarketNo. 2 in U.S. mobile web browsing4 platform releases and counting...
OpenSocial
Classes of Google developer technology
Product APIs
Application platforms
Developer tools
3. Developer tools
Google Web Toolkit
Closure Tools
App Engine
Classes of Google developer technology
Product APIs
Application platforms
Developer tools
70+ APIs and developer toolsfor web, mobile, and desktop apps
http://code.google.com/more
Jason CooperDeveloper Programs Engineer