Web APIs & Google
<ul><li>Pamela Fox  </li></ul><ul><li>USC/Google </li></ul>
define: API ... Web API <ul><li>A pplication </li></ul><ul><li>P rogramming </li></ul><ul><li>I nterface </li></ul>
API types <ul><li>HTTP </li></ul>Plugin Visual REST | RPC
API types: HTTP :: RPC fooInstance->addNumbers(2, 3); <?xml version=&quot;1.0&quot;?> <methodCall> <methodName>Foo.addNumb...
API types: HTTP :: RPC http://api.flickr.com/services/rest/?method=flickr.photos.search&text=pamela+fox <rsp stat=&quot;ok...
API types: HTTP :: SOAP <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?>  <s:Envelope xmlns:s=&quot;http://www....
API types: HTTP :: REST Application state and functionality is abstracted into discrete resources. Resources are accessibl...
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...
API types: Visual
API types: Visual <ul><li>   <script type=&quot;text/javascript&quot; src=&quot;http://videocallroom.oovoo.com/oovoorooms....
API types: Plugins
API types: Plugins <ul><li>     <widget:preferences> </li></ul><ul><li>       <preference name=&quot;hellowho&quot; type=&...
Google APIs <ul><li>HTTP </li></ul>Plugin Visual REST | RPC Google data APIs Adwords API Geocoding API Google Maps API Goo...
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 <ul><li><html> </li></ul><ul><li><head> </li></ul><ul><li><script src=&quot;http://maps.goog...
Google APIs: Google Maps APIs TrendsMap
Google APIs: Google Wave APIs
Google APIs: Google Wave APIs <ul><li>public class MaileyBotServlet extends AbstractRobotServlet { </li></ul><ul><li>   pu...
Google APIs: Google Wave APIs Emoticony Cards
Google APIs: Google Data APIs
Google APIs: Google Sites API <ul><li>POST /feeds/content/site/siteName </li></ul><ul><li><entry xmlns=&quot;http://www.w3...
Google APIs: Google Sites API Docs Editor
Developer Tools: Sydney
APIs aren't all fun and games... (But really they are)
Upcoming SlideShare
Loading in...5
×

Web APIs & Google APIs

1,579
-1

Published on

An overview of Web APIs generally, then Google's offerings, then specifically Google's offerings in Sydney.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Web APIs & Google APIs

  1. 1. Web APIs & Google
  2. 2. <ul><li>Pamela Fox  </li></ul><ul><li>USC/Google </li></ul>
  3. 3. define: API ... Web API <ul><li>A pplication </li></ul><ul><li>P rogramming </li></ul><ul><li>I nterface </li></ul>
  4. 4. API types <ul><li>HTTP </li></ul>Plugin Visual REST | RPC
  5. 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. 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. 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. 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. 9. API types: HTTP :: REST Feed Entries GET POST PUT DELETE
  10. 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  
  11. 11. API types: Visual
  12. 12. API types: Visual <ul><li>   <script type=&quot;text/javascript&quot; src=&quot;http://videocallroom.oovoo.com/oovoorooms.js&quot;> </li></ul><ul><li>   </script> </li></ul><ul><li>   <script type='text/javascript'> </li></ul><ul><li>     roomProps.roomID = '60D56CE75A321CE3E01230144F7E8E22';   </li></ul><ul><li>     roomProps.width = '795';   </li></ul><ul><li>     roomProps.height = '640'  </li></ul><ul><li>     roomProps.backgroundColor = '#666666'; </li></ul><ul><li>     roomProps.captionText = 'Best room ever'; </li></ul><ul><li>     roomProps.captionColor = '#FFFFFF'; </li></ul><ul><li>     var myRoom = CreateRoom(); </li></ul><ul><li>   </script> </li></ul>
  13. 13. API types: Plugins
  14. 14. API types: Plugins <ul><li>     <widget:preferences> </li></ul><ul><li>       <preference name=&quot;hellowho&quot; type=&quot;text&quot; label=&quot;Hello who ?&quot;  </li></ul><ul><li>         defaultValue=&quot;World&quot; /> </li></ul><ul><li>     </widget:preferences> </li></ul><ul><li>     <title>Title of the Widget</title> </li></ul><ul><li>  </li></ul><ul><li>     <script type=&quot;text/javascript&quot;> </li></ul><ul><li>       widget.onLoad = function() { </li></ul><ul><li>         var who = widget.getValue('hellowho'); </li></ul><ul><li>         widget.setBody('<p>Hello ' + who + '!</p>'); </li></ul><ul><li>       } </li></ul><ul><li>     </script> </li></ul>
  15. 15. Google APIs <ul><li>HTTP </li></ul>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
  16. 16. Google APIs: Sydney
  17. 17. Google APIs: Google Maps APIs Mapplets JS Maps APIs Maps API for Flash Static Maps APIs Maps Data API
  18. 18. Google APIs: Google Maps APIs <ul><li><html> </li></ul><ul><li><head> </li></ul><ul><li><script src=&quot;http://maps.google.com/maps?file=api&v=2&key=abcdefg&quot;> </li></ul><ul><li><script> </li></ul><ul><li>function createMap() { </li></ul><ul><li>  var map = new GMap2(document.getElementById(&quot;map&quot;)); </li></ul><ul><li>  map.setCenter(new GLatLng(37, -122)); </li></ul><ul><li>  map.openInfoWindow(&quot;hellooo&quot;); </li></ul><ul><li>} </li></ul><ul><li></script> </li></ul><ul><li><body onload=&quot;createMap()&quot;> </li></ul><ul><li>  <div id=&quot;map&quot; style=&quot;width:500px;height:300px&quot;></div> </li></ul><ul><li></body> </html> </li></ul>
  19. 19. Google APIs: Google Maps APIs TrendsMap
  20. 20. Google APIs: Google Wave APIs
  21. 21. Google APIs: Google Wave APIs <ul><li>public class MaileyBotServlet extends AbstractRobotServlet { </li></ul><ul><li>   public void processEvents(RobotMessageBundle bundle) { </li></ul><ul><li>     Wavelet wavelet = bundle.getWavelet();          </li></ul><ul><li>     sendEmail(wavelet.getTitle()); </li></ul><ul><li>   } </li></ul><ul><li>   </li></ul><ul><li>   public void sendEmail(String title) { </li></ul><ul><li>     Message msg = new MimeMessage(session); </li></ul><ul><li>     msg.addRecipient(Message.RecipientType.TO, </li></ul><ul><li>                    new InternetAddress(&quot;pamela.fox@gmail.com&quot;)); </li></ul><ul><li>     msg.setSubject(&quot;the wave &quot; + title + &quot; was updated&quot;); </li></ul><ul><li>     Transport.send(msg); </li></ul><ul><li>   } </li></ul><ul><li>} </li></ul>
  22. 22. Google APIs: Google Wave APIs Emoticony Cards
  23. 23. Google APIs: Google Data APIs
  24. 24. Google APIs: Google Sites API <ul><li>POST /feeds/content/site/siteName </li></ul><ul><li><entry xmlns=&quot;http://www.w3.org/2005/Atom&quot;> </li></ul><ul><li>   <category scheme=&quot;http://schemas.google.com/g/2005#kind&quot; </li></ul><ul><li>       term=&quot;http://schemas.google.com/sites/2008#webpage&quot; label=&quot;webpage&quot;/> </li></ul><ul><li>   <title>New Webpage Title</title> </li></ul><ul><li>   <content type=&quot;xhtml&quot;> </li></ul><ul><li>     <div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>HTML body goes here</div> </li></ul><ul><li>   </content> </li></ul><ul><li></entry> </li></ul>
  25. 25. Google APIs: Google Sites API Docs Editor
  26. 26. Developer Tools: Sydney
  27. 27. APIs aren't all fun and games... (But really they are)
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×