Web APIs & Google
Pamela Fox  USC/Google
define: API ... Web API A pplication P rogramming I nterface
API types HTTP Plugin Visual REST | RPC
API types: HTTP :: RPC fooInstance->addNumbers(2, 3); <?xml version=&quot;1.0&quot;?> <methodCall> <methodName>Foo.addNumbers</methodName> <params> <param><value><int>2</int></value></param> <param><value><int>3</int></value></param>  </params> </methodCall> fooInstance.addNumbers(2, 3); PHP XML (Network) C++
API types: HTTP :: RPC http://api.flickr.com/services/rest/?method=flickr.photos.search&text=pamela+fox <rsp stat=&quot;ok&quot;>  <photos page=&quot;1&quot; pages=&quot;2&quot; perpage=&quot;100&quot; total=&quot;159&quot;> <photo id=&quot;3461223826&quot; owner=&quot;37370984@N07&quot; secret=&quot;6d0bbbbfa3&quot; server=&quot;3512&quot; farm=&quot;4&quot; title=&quot;Pamela Fox - mapping, red dot fever&quot; ispublic=&quot;1&quot; isfriend=&quot;0&quot; isfamily=&quot;0&quot; />  <photo id=&quot;3461224220&quot; owner=&quot;37370984@N07&quot; secret=&quot;7365fecf34&quot; server=&quot;3605&quot; farm=&quot;4&quot; title=&quot;Pam pam pam&quot; ispublic=&quot;1&quot; isfriend=&quot;0&quot; isfamily=&quot;0&quot; />  <photo id=&quot;3459126604&quot; owner=&quot;44124396772@N01&quot; secret=&quot;c54c15ee4b&quot; server=&quot;3608&quot; farm=&quot;4&quot; title=&quot;pamela&quot; ispublic=&quot;1&quot; isfriend=&quot;0&quot; isfamily=&quot;0&quot; /> </photos> </rsp>
API types: HTTP :: SOAP <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?>  <s:Envelope xmlns:s=&quot;http://www.w3.org/2003/05/soap-envelope&quot; xmlns:xsi=&quot;http://www.w3.org/1999/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/1999/XMLSchema&quot; > <s:Body>  <x:FlickrResponse xmlns:x=&quot;urn:flickr&quot;>  [escaped-xml-payload]  </x:FlickrResponse>  </s:Body>  </s:Envelope>  http://www.flickr.com/services/rest/?method=flickr.test.echo&format=soap&foo=bar
API types: HTTP :: REST Application state and functionality is abstracted into discrete resources. Resources are accessible via URLs. /blog/posts/1234 Resources share a uniform interface for transferring state. HTTP:// GET POST PUT DELETE
API types: HTTP :: REST Feed Entries GET POST PUT DELETE
API types: HTTP :: REST <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <catalog_title>      <id>   http://api.netflix.com/catalog/titles/series/70023522/seasons/70023522      </id>      <title short=&quot;The Office: Season  1&quot; regular=&quot;The Office: Season 1&quot;/>      <release_year>2005</release_year>      <runtime>8700</runtime>      ... </catalog_title> http://api.netflix.com/catalog/titles/series/70023522/seasons/70023522  
API types: Visual
API types: Visual    <script type=&quot;text/javascript&quot; src=&quot;http://videocallroom.oovoo.com/oovoorooms.js&quot;>    </script>    <script type='text/javascript'>      roomProps.roomID = '60D56CE75A321CE3E01230144F7E8E22';        roomProps.width = '795';        roomProps.height = '640'       roomProps.backgroundColor = '#666666';      roomProps.captionText = 'Best room ever';      roomProps.captionColor = '#FFFFFF';      var myRoom = CreateRoom();    </script>
API types: Plugins
API types: Plugins      <widget:preferences>        <preference name=&quot;hellowho&quot; type=&quot;text&quot; label=&quot;Hello who ?&quot;           defaultValue=&quot;World&quot; />      </widget:preferences>      <title>Title of the Widget</title>        <script type=&quot;text/javascript&quot;>        widget.onLoad = function() {          var who = widget.getValue('hellowho');          widget.setBody('<p>Hello ' + who + '!</p>');        }      </script>
Google APIs HTTP Plugin Visual REST | RPC Google data APIs Adwords API Geocoding API Google Maps API Google Visualization API Google Charts API Google Web Elements OpenSocial Gadgets Spreadsheets Gadgets Wave Gadgets/Robots
Google APIs: Sydney
Google APIs: Google Maps APIs Mapplets JS Maps APIs Maps API for Flash Static Maps APIs Maps Data API
Google APIs: Google Maps APIs <html> <head> <script src=&quot;http://maps.google.com/maps?file=api&v=2&key=abcdefg&quot;> <script> function createMap() {   var map = new GMap2(document.getElementById(&quot;map&quot;));   map.setCenter(new GLatLng(37, -122));   map.openInfoWindow(&quot;hellooo&quot;); } </script> <body onload=&quot;createMap()&quot;>   <div id=&quot;map&quot; style=&quot;width:500px;height:300px&quot;></div> </body> </html>
Google APIs: Google Maps APIs TrendsMap
Google APIs: Google Wave APIs
Google APIs: Google Wave APIs public class MaileyBotServlet extends AbstractRobotServlet {    public void processEvents(RobotMessageBundle bundle) {      Wavelet wavelet = bundle.getWavelet();               sendEmail(wavelet.getTitle());    }       public void sendEmail(String title) {      Message msg = new MimeMessage(session);      msg.addRecipient(Message.RecipientType.TO,                      new InternetAddress(&quot;pamela.fox@gmail.com&quot;));      msg.setSubject(&quot;the wave &quot; + title + &quot; was updated&quot;);      Transport.send(msg);    } }
Google APIs: Google Wave APIs Emoticony Cards
Google APIs: Google Data APIs
Google APIs: Google Sites API POST /feeds/content/site/siteName <entry xmlns=&quot;http://www.w3.org/2005/Atom&quot;>    <category scheme=&quot;http://schemas.google.com/g/2005#kind&quot;        term=&quot;http://schemas.google.com/sites/2008#webpage&quot; label=&quot;webpage&quot;/>    <title>New Webpage Title</title>    <content type=&quot;xhtml&quot;>      <div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>HTML body goes here</div>    </content> </entry>
Google APIs: Google Sites API Docs Editor
Developer Tools: Sydney
APIs aren't all fun and games... (But really they are)

More Related Content

PPT
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
PPT
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
PPT
Developing Gadgets
ODP
Developing and testing ajax components
ODP
The Basics Of Page Creation
ODP
Haml & Sass presentation
PPT
Creating Yahoo Mobile Widgets
PPT
Controls
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Developing Gadgets
Developing and testing ajax components
The Basics Of Page Creation
Haml & Sass presentation
Creating Yahoo Mobile Widgets
Controls

What's hot (16)

PPT
Ajax ons2
ODP
Optimizing Drupal for Mobile Devices
PPT
Mashups & APIs
PPT
Spring 2.0
PPT
WordPress Development Confoo 2010
PPTX
YQL talk at OHD Jakarta
PPT
Dan Holevoet, Google
PPT
What's new in Rails 2?
PPT
Building Secure Twitter Apps
PDF
Microformats HTML to API
PPT
Spring 2.0
PPT
Grails and Dojo
PPT
Microformats at Web 2.0 Expo April 2007
PDF
Front End on Rails
PPTX
Meetup django common_problems(1)
PPT
WCF 4.0
Ajax ons2
Optimizing Drupal for Mobile Devices
Mashups & APIs
Spring 2.0
WordPress Development Confoo 2010
YQL talk at OHD Jakarta
Dan Holevoet, Google
What's new in Rails 2?
Building Secure Twitter Apps
Microformats HTML to API
Spring 2.0
Grails and Dojo
Microformats at Web 2.0 Expo April 2007
Front End on Rails
Meetup django common_problems(1)
WCF 4.0

Similar to Web APIs & Google APIs (20)

PPT
Web services - REST and SOAP
PPT
Mashups MAX 360|MAX 2008 Unconference
PDF
Open Ap Is State Of The Market
PPTX
Google APPs and APIs
PDF
Web Services, for DevDays Belfast
PPT
Programming With Amazon, Google, And E Bay
KEY
RIAs Done Right: Grails, Flex, and EXT GWT
ODP
RestFull Webservices with JAX-RS
PDF
Business of APIs Conference 2011 - ProgrammableWeb
PDF
API Technical Writing
PPTX
d.mix: Programming by a Sample
ODP
Architecting Web Services
PPTX
Trends in Web APIs Layer 7 API Management Workshop London
PPT
Under the Covers with the Web
PPTX
RESTful design
PPT
Gadgets Intro (Plus Mapplets)
PPTX
Rest WebAPI with OData
PPT
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
PDF
On being RESTful
Web services - REST and SOAP
Mashups MAX 360|MAX 2008 Unconference
Open Ap Is State Of The Market
Google APPs and APIs
Web Services, for DevDays Belfast
Programming With Amazon, Google, And E Bay
RIAs Done Right: Grails, Flex, and EXT GWT
RestFull Webservices with JAX-RS
Business of APIs Conference 2011 - ProgrammableWeb
API Technical Writing
d.mix: Programming by a Sample
Architecting Web Services
Trends in Web APIs Layer 7 API Management Workshop London
Under the Covers with the Web
RESTful design
Gadgets Intro (Plus Mapplets)
Rest WebAPI with OData
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
On being RESTful

More from Pamela Fox (20)

PDF
Teaching Programming Online
PDF
Engineering culture
KEY
Django Admin: Widgetry & Witchery
PDF
A Year of Hermit Hacking
PDF
The Developer Experience
PDF
Making JavaScript Libraries More Approachable
PPT
How I became a born again vegetable-tarian
KEY
The Developer Experience
PPT
No, Really, I'm Shy
PPT
Writing Apps the Google-y Way (Brisbane)
PPT
Writing Apps the Google-y Way
PPT
The Wonders of the "Onesie"
PPT
I’M A Barbie Girl In A CS World
PPT
Google Wave 20/20: Product, Protocol, Platform
PPT
Collaborative Mapping with Google Wave
PPT
Google Products: Deep Dive on Google Maps
PPT
Google Products & Google Maps
PPT
A World of Words
PPT
Growing up Geek: My Dad, the Computer Scientist
PPT
Client Killed the Server Star
Teaching Programming Online
Engineering culture
Django Admin: Widgetry & Witchery
A Year of Hermit Hacking
The Developer Experience
Making JavaScript Libraries More Approachable
How I became a born again vegetable-tarian
The Developer Experience
No, Really, I'm Shy
Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way
The Wonders of the "Onesie"
I’M A Barbie Girl In A CS World
Google Wave 20/20: Product, Protocol, Platform
Collaborative Mapping with Google Wave
Google Products: Deep Dive on Google Maps
Google Products & Google Maps
A World of Words
Growing up Geek: My Dad, the Computer Scientist
Client Killed the Server Star

Recently uploaded (20)

PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PDF
SaaS reusability assessment using machine learning techniques
PPTX
How to use fields_get method in Odoo 18
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
Decision Optimization - From Theory to Practice
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
Streamline Vulnerability Management From Minimal Images to SBOMs
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
Examining Bias in AI Generated News Content.pdf
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PDF
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
The AI Revolution in Customer Service - 2025
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PPTX
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
CEH Module 2 Footprinting CEH V13, concepts
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
SaaS reusability assessment using machine learning techniques
How to use fields_get method in Odoo 18
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
Decision Optimization - From Theory to Practice
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Streamline Vulnerability Management From Minimal Images to SBOMs
giants, standing on the shoulders of - by Daniel Stenberg
Examining Bias in AI Generated News Content.pdf
Build automations faster and more reliably with UiPath ScreenPlay
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
The AI Revolution in Customer Service - 2025
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
Data Virtualization in Action: Scaling APIs and Apps with FME
CEH Module 2 Footprinting CEH V13, concepts

Web APIs & Google APIs

  • 1. Web APIs & Google
  • 3. define: API ... Web API A pplication P rogramming I nterface
  • 4. API types HTTP Plugin Visual REST | RPC
  • 5. API types: HTTP :: RPC fooInstance->addNumbers(2, 3); <?xml version=&quot;1.0&quot;?> <methodCall> <methodName>Foo.addNumbers</methodName> <params> <param><value><int>2</int></value></param> <param><value><int>3</int></value></param> </params> </methodCall> fooInstance.addNumbers(2, 3); PHP XML (Network) C++
  • 6. API types: HTTP :: RPC http://api.flickr.com/services/rest/?method=flickr.photos.search&text=pamela+fox <rsp stat=&quot;ok&quot;> <photos page=&quot;1&quot; pages=&quot;2&quot; perpage=&quot;100&quot; total=&quot;159&quot;> <photo id=&quot;3461223826&quot; owner=&quot;37370984@N07&quot; secret=&quot;6d0bbbbfa3&quot; server=&quot;3512&quot; farm=&quot;4&quot; title=&quot;Pamela Fox - mapping, red dot fever&quot; ispublic=&quot;1&quot; isfriend=&quot;0&quot; isfamily=&quot;0&quot; /> <photo id=&quot;3461224220&quot; owner=&quot;37370984@N07&quot; secret=&quot;7365fecf34&quot; server=&quot;3605&quot; farm=&quot;4&quot; title=&quot;Pam pam pam&quot; ispublic=&quot;1&quot; isfriend=&quot;0&quot; isfamily=&quot;0&quot; /> <photo id=&quot;3459126604&quot; owner=&quot;44124396772@N01&quot; secret=&quot;c54c15ee4b&quot; server=&quot;3608&quot; farm=&quot;4&quot; title=&quot;pamela&quot; ispublic=&quot;1&quot; isfriend=&quot;0&quot; isfamily=&quot;0&quot; /> </photos> </rsp>
  • 7. API types: HTTP :: SOAP <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <s:Envelope xmlns:s=&quot;http://www.w3.org/2003/05/soap-envelope&quot; xmlns:xsi=&quot;http://www.w3.org/1999/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/1999/XMLSchema&quot; > <s:Body> <x:FlickrResponse xmlns:x=&quot;urn:flickr&quot;> [escaped-xml-payload] </x:FlickrResponse> </s:Body> </s:Envelope> http://www.flickr.com/services/rest/?method=flickr.test.echo&format=soap&foo=bar
  • 8. API types: HTTP :: REST Application state and functionality is abstracted into discrete resources. Resources are accessible via URLs. /blog/posts/1234 Resources share a uniform interface for transferring state. HTTP:// GET POST PUT DELETE
  • 9. API types: HTTP :: REST Feed Entries GET POST PUT DELETE
  • 10. API types: HTTP :: REST <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <catalog_title>      <id>   http://api.netflix.com/catalog/titles/series/70023522/seasons/70023522      </id>      <title short=&quot;The Office: Season  1&quot; regular=&quot;The Office: Season 1&quot;/>      <release_year>2005</release_year>      <runtime>8700</runtime>      ... </catalog_title> http://api.netflix.com/catalog/titles/series/70023522/seasons/70023522  
  • 12. API types: Visual    <script type=&quot;text/javascript&quot; src=&quot;http://videocallroom.oovoo.com/oovoorooms.js&quot;>    </script>    <script type='text/javascript'>      roomProps.roomID = '60D56CE75A321CE3E01230144F7E8E22';        roomProps.width = '795';        roomProps.height = '640'       roomProps.backgroundColor = '#666666';      roomProps.captionText = 'Best room ever';      roomProps.captionColor = '#FFFFFF';      var myRoom = CreateRoom();    </script>
  • 14. API types: Plugins      <widget:preferences>        <preference name=&quot;hellowho&quot; type=&quot;text&quot; label=&quot;Hello who ?&quot;           defaultValue=&quot;World&quot; />      </widget:preferences>      <title>Title of the Widget</title>        <script type=&quot;text/javascript&quot;>        widget.onLoad = function() {          var who = widget.getValue('hellowho');          widget.setBody('<p>Hello ' + who + '!</p>');        }      </script>
  • 15. Google APIs HTTP Plugin Visual REST | RPC Google data APIs Adwords API Geocoding API Google Maps API Google Visualization API Google Charts API Google Web Elements OpenSocial Gadgets Spreadsheets Gadgets Wave Gadgets/Robots
  • 17. Google APIs: Google Maps APIs Mapplets JS Maps APIs Maps API for Flash Static Maps APIs Maps Data API
  • 18. Google APIs: Google Maps APIs <html> <head> <script src=&quot;http://maps.google.com/maps?file=api&v=2&key=abcdefg&quot;> <script> function createMap() {   var map = new GMap2(document.getElementById(&quot;map&quot;));   map.setCenter(new GLatLng(37, -122));   map.openInfoWindow(&quot;hellooo&quot;); } </script> <body onload=&quot;createMap()&quot;>   <div id=&quot;map&quot; style=&quot;width:500px;height:300px&quot;></div> </body> </html>
  • 19. Google APIs: Google Maps APIs TrendsMap
  • 20. Google APIs: Google Wave APIs
  • 21. Google APIs: Google Wave APIs public class MaileyBotServlet extends AbstractRobotServlet {    public void processEvents(RobotMessageBundle bundle) {      Wavelet wavelet = bundle.getWavelet();               sendEmail(wavelet.getTitle());    }       public void sendEmail(String title) {      Message msg = new MimeMessage(session);      msg.addRecipient(Message.RecipientType.TO,                     new InternetAddress(&quot;[email protected]&quot;));      msg.setSubject(&quot;the wave &quot; + title + &quot; was updated&quot;);      Transport.send(msg);    } }
  • 22. Google APIs: Google Wave APIs Emoticony Cards
  • 23. Google APIs: Google Data APIs
  • 24. Google APIs: Google Sites API POST /feeds/content/site/siteName <entry xmlns=&quot;http://www.w3.org/2005/Atom&quot;>    <category scheme=&quot;http://schemas.google.com/g/2005#kind&quot;        term=&quot;http://schemas.google.com/sites/2008#webpage&quot; label=&quot;webpage&quot;/>    <title>New Webpage Title</title>    <content type=&quot;xhtml&quot;>      <div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>HTML body goes here</div>    </content> </entry>
  • 25. Google APIs: Google Sites API Docs Editor
  • 27. APIs aren't all fun and games... (But really they are)