SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Introduction to Google APIs
                                                              August 25, 2012




                            Sivasubramaniam Arunachalam



http://barcampbangalore.org/bcb/bcb12/google-apis-and-google-app-engine-introduction-demo
http://www.ebaypartnernetworkblog.com/en/files/2011/05/api1.gif
Agenda
•   What is an API?
•   REST - Introduction
•   Google APIs
•   Demo
API

“Specification intended to be used as an interface
by software components to communicate with
each other”
Language Dependent APIs
•   Python (pydoc)
•   Ruby (ri)
•   Perl (perldoc)
•   Java (javadoc)
•   Unix (man)
Language Independent APIs
 • RPCs
 • CORBA
 • Web Services
Evolution
  • Web 2.0 & 3.0
  • Web Services

 "A software system designed to support
 interoperable machine-to-machine interaction
 over a network" (W3C)
Web APIs
• HTTP, HTTP & HTTP
  • XML
  • JSON
• Mash-ups
  • Enterprise
  • Consumer
  • Data
Web Services
• SOAP
  • Heavy Weight
  • Suitable for Enterprises
• REST
  • Light Weight
  • Suitable for Web APIs
Why REST?
•   Ease of Development & Deployment
•   Serves the actual purpose of HTTP
•   Cache Proxies
•   Human readable results
•   Flexile Formats
•   Better Performance
•   Better Browser Support
•   Social Media Authentication
REST - Introduction
•   Architectural Style
•   Uses only HTTP
•   Stateless
•   Clean URL (Slugs & SEO)
REST - Components
• Origin Servers
    • Gateways
    • Proxies
• Clients

•   Client (Requested By)
•   Server (Provided By)
•   Resource (What is being exchanged)
•   Representation
REST - Methods
•   GET
•   PUT
•   POST
•   DELETE

http://provider.com/resources/
    http://provider.com/resources/entry05
REST – Methods (GET)
http://provider.com/resources/
http://provider.com/resources/entry05

•List
•Retrieve
REST – Methods (PUT & POST)
   http://provider.com/resources/
   http://provider.com/resources/entry05

   •Replace
   •Replace/Create
REST – Methods (DELETE)
 http://provider.com/resources/
 http://provider.com/resources/entry05

 •Delete the List
 •Delete the Entry
PUT vs POST
• Explicit URL Name in request (PUT)
• Idempotent (PUT)
  • No Duplicate
• PUT - Same URL for (Create/Update)
PUT
• /resources/<existing_resource>   (update)
• /resources/<new_resource>        (Create)
POST
• /resources (Create and URL will be returned)
• /resources/<existing_resource>      (Update)
• /resources/<new_resource>           (Error)
OAuth 2.0 Flow




            http://tutorials.jenkov.com/oauth2/overview.html
OAuth 2.0 Flow (Contd…)




         http://www.ibm.com/developerworks/library/x-androidfacebookapi/index.html
Google APIs
• Data APIs (Demo in few minutes)
• Ajax APIs
  • JS & HTML
  • Rich dynamic web sites
• Ads APIs
  • Adsense
  • Adwords
  •   (SOAP Based)
Google Data APIs

• 46 Apps
• Tools
  • API Explorer
  • API Console
  • OAuth 2.0 Playground
Demo
•   Discovery
•   Books
•   URL Shorter
•   Tasks
•   Google +

• Others
Questions (?)
Thank You!
             siva@sivaa.in

             @sivaa_in
References
•   http://en.wikipedia.org/wiki/Application_programming_interface
•   http://en.wikipedia.org/wiki/Representational_state_transfer
•   http://en.wikipedia.org/wiki/Google_Code
•   http://googlecode.blogspot.in/2009/08/well-earned-retirement-for-soap-search.html
•   http://stackoverflow.com/questions/6166746/why-use-soap-for-webservices
•   http://stackoverflow.com/questions/630453/put-vs-post-in-rest
•   http://stackoverflow.com/questions/3487991/why-does-oauth-v2-have-both-access-and-refresh-tokens
Tweets




 http://1photos.com/wp-content/uploads/2011/02/wpid-web_delight_s37_15_part.jpg
Tweets
Tweets
Tweets
Tweets
Tweets
Tweets

Weitere ähnliche Inhalte

Was ist angesagt?

Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
Sri Prasanna
 
Tycs sem 5 asp.net notes unit 1 2 3 4 (2017)
Tycs sem 5 asp.net notes unit 1 2 3 4 (2017)Tycs sem 5 asp.net notes unit 1 2 3 4 (2017)
Tycs sem 5 asp.net notes unit 1 2 3 4 (2017)
WE-IT TUTORIALS
 

Was ist angesagt? (20)

Android game development
Android game developmentAndroid game development
Android game development
 
Web technologies: HTTP
Web technologies: HTTPWeb technologies: HTTP
Web technologies: HTTP
 
Hadoop And Their Ecosystem ppt
 Hadoop And Their Ecosystem ppt Hadoop And Their Ecosystem ppt
Hadoop And Their Ecosystem ppt
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
 
Hadoop YARN
Hadoop YARNHadoop YARN
Hadoop YARN
 
Introduction to Map Reduce
Introduction to Map ReduceIntroduction to Map Reduce
Introduction to Map Reduce
 
Tycs sem 5 asp.net notes unit 1 2 3 4 (2017)
Tycs sem 5 asp.net notes unit 1 2 3 4 (2017)Tycs sem 5 asp.net notes unit 1 2 3 4 (2017)
Tycs sem 5 asp.net notes unit 1 2 3 4 (2017)
 
Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component Introduction to Hadoop and Hadoop component
Introduction to Hadoop and Hadoop component
 
Mahout
MahoutMahout
Mahout
 
DBSCAN : A Clustering Algorithm
DBSCAN : A Clustering AlgorithmDBSCAN : A Clustering Algorithm
DBSCAN : A Clustering Algorithm
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
 
clock synchronization in Distributed System
clock synchronization in Distributed System clock synchronization in Distributed System
clock synchronization in Distributed System
 
Android User Interface
Android User InterfaceAndroid User Interface
Android User Interface
 
Android SDK Tutorial | Edureka
Android SDK Tutorial | EdurekaAndroid SDK Tutorial | Edureka
Android SDK Tutorial | Edureka
 
Architecture of data mining system
Architecture of data mining systemArchitecture of data mining system
Architecture of data mining system
 
OpenGL Mini Projects With Source Code [ Computer Graphics ]
OpenGL Mini Projects With Source Code [ Computer Graphics ]OpenGL Mini Projects With Source Code [ Computer Graphics ]
OpenGL Mini Projects With Source Code [ Computer Graphics ]
 
Map Reduce data types and formats
Map Reduce data types and formatsMap Reduce data types and formats
Map Reduce data types and formats
 
Map Reduce
Map ReduceMap Reduce
Map Reduce
 
Big data and Hadoop
Big data and HadoopBig data and Hadoop
Big data and Hadoop
 

Ähnlich wie Introduction to Google APIs

Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web APISinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Radenko Zec
 
automated-automation-of-rest-apis.pptx
automated-automation-of-rest-apis.pptxautomated-automation-of-rest-apis.pptx
automated-automation-of-rest-apis.pptx
Aditya274010
 

Ähnlich wie Introduction to Google APIs (20)

Web APIs
Web APIsWeb APIs
Web APIs
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
Alfresco Day Vienna 2015 - Technical Track - REST API of the Future
Alfresco Day Vienna 2015 - Technical Track - REST API of the FutureAlfresco Day Vienna 2015 - Technical Track - REST API of the Future
Alfresco Day Vienna 2015 - Technical Track - REST API of the Future
 
Webservices: The RESTful Approach
Webservices: The RESTful ApproachWebservices: The RESTful Approach
Webservices: The RESTful Approach
 
Google APIs for NSBM Students
Google APIs for NSBM StudentsGoogle APIs for NSBM Students
Google APIs for NSBM Students
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
APIエコノミー時代の認証・認可
APIエコノミー時代の認証・認可APIエコノミー時代の認証・認可
APIエコノミー時代の認証・認可
 
Advanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST APIAdvanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST API
 
Building Software Backend (Web API)
Building Software Backend (Web API)Building Software Backend (Web API)
Building Software Backend (Web API)
 
First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)
 
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web APISinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
Sinergija2012 - Developing REST API for Windows Azure with ASP.NET Web API
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
 
automated-automation-of-rest-apis.pptx
automated-automation-of-rest-apis.pptxautomated-automation-of-rest-apis.pptx
automated-automation-of-rest-apis.pptx
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
Maine WordPress Meetup JSON REST API, 3/16/2016
Maine WordPress Meetup JSON REST API, 3/16/2016Maine WordPress Meetup JSON REST API, 3/16/2016
Maine WordPress Meetup JSON REST API, 3/16/2016
 

Mehr von Siva Arunachalam

Web sockets in java EE 7 - JavaOne 2013
Web sockets in java EE 7 - JavaOne 2013Web sockets in java EE 7 - JavaOne 2013
Web sockets in java EE 7 - JavaOne 2013
Siva Arunachalam
 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School Programmers
Siva Arunachalam
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
Siva Arunachalam
 
Simplify AJAX using jQuery
Simplify AJAX using jQuerySimplify AJAX using jQuery
Simplify AJAX using jQuery
Siva Arunachalam
 
Introduction to Browser DOM
Introduction to Browser DOMIntroduction to Browser DOM
Introduction to Browser DOM
Siva Arunachalam
 

Mehr von Siva Arunachalam (18)

Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)
 
Introduction to logging in django
Introduction to logging in djangoIntroduction to logging in django
Introduction to logging in django
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Setup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in WindowsSetup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in Windows
 
What's New in Django 1.6
What's New in Django 1.6What's New in Django 1.6
What's New in Django 1.6
 
Introduction to Browser Internals
Introduction to Browser InternalsIntroduction to Browser Internals
Introduction to Browser Internals
 
Web sockets in java EE 7 - JavaOne 2013
Web sockets in java EE 7 - JavaOne 2013Web sockets in java EE 7 - JavaOne 2013
Web sockets in java EE 7 - JavaOne 2013
 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School Programmers
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Web Sockets in Java EE 7
Web Sockets in Java EE 7Web Sockets in Java EE 7
Web Sockets in Java EE 7
 
Simplify AJAX using jQuery
Simplify AJAX using jQuerySimplify AJAX using jQuery
Simplify AJAX using jQuery
 
Introduction to Browser DOM
Introduction to Browser DOMIntroduction to Browser DOM
Introduction to Browser DOM
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Installing MySQL for Python
Installing MySQL for PythonInstalling MySQL for Python
Installing MySQL for Python
 
Using Eclipse and Installing PyDev
Using Eclipse and Installing PyDevUsing Eclipse and Installing PyDev
Using Eclipse and Installing PyDev
 
Installing Python 2.7 in Windows
Installing Python 2.7 in WindowsInstalling Python 2.7 in Windows
Installing Python 2.7 in Windows
 
Setup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in WindowsSetup a New Virtualenv for Django in Windows
Setup a New Virtualenv for Django in Windows
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Introduction to Google APIs

  • 1. Introduction to Google APIs August 25, 2012 Sivasubramaniam Arunachalam http://barcampbangalore.org/bcb/bcb12/google-apis-and-google-app-engine-introduction-demo
  • 3. Agenda • What is an API? • REST - Introduction • Google APIs • Demo
  • 4. API “Specification intended to be used as an interface by software components to communicate with each other”
  • 5. Language Dependent APIs • Python (pydoc) • Ruby (ri) • Perl (perldoc) • Java (javadoc) • Unix (man)
  • 6. Language Independent APIs • RPCs • CORBA • Web Services
  • 7. Evolution • Web 2.0 & 3.0 • Web Services "A software system designed to support interoperable machine-to-machine interaction over a network" (W3C)
  • 8. Web APIs • HTTP, HTTP & HTTP • XML • JSON • Mash-ups • Enterprise • Consumer • Data
  • 9. Web Services • SOAP • Heavy Weight • Suitable for Enterprises • REST • Light Weight • Suitable for Web APIs
  • 10. Why REST? • Ease of Development & Deployment • Serves the actual purpose of HTTP • Cache Proxies • Human readable results • Flexile Formats • Better Performance • Better Browser Support • Social Media Authentication
  • 11. REST - Introduction • Architectural Style • Uses only HTTP • Stateless • Clean URL (Slugs & SEO)
  • 12. REST - Components • Origin Servers • Gateways • Proxies • Clients • Client (Requested By) • Server (Provided By) • Resource (What is being exchanged) • Representation
  • 13. REST - Methods • GET • PUT • POST • DELETE http://provider.com/resources/ http://provider.com/resources/entry05
  • 14. REST – Methods (GET) http://provider.com/resources/ http://provider.com/resources/entry05 •List •Retrieve
  • 15. REST – Methods (PUT & POST) http://provider.com/resources/ http://provider.com/resources/entry05 •Replace •Replace/Create
  • 16. REST – Methods (DELETE) http://provider.com/resources/ http://provider.com/resources/entry05 •Delete the List •Delete the Entry
  • 17. PUT vs POST • Explicit URL Name in request (PUT) • Idempotent (PUT) • No Duplicate • PUT - Same URL for (Create/Update)
  • 18. PUT • /resources/<existing_resource> (update) • /resources/<new_resource> (Create)
  • 19. POST • /resources (Create and URL will be returned) • /resources/<existing_resource> (Update) • /resources/<new_resource> (Error)
  • 20. OAuth 2.0 Flow http://tutorials.jenkov.com/oauth2/overview.html
  • 21. OAuth 2.0 Flow (Contd…) http://www.ibm.com/developerworks/library/x-androidfacebookapi/index.html
  • 22. Google APIs • Data APIs (Demo in few minutes) • Ajax APIs • JS & HTML • Rich dynamic web sites • Ads APIs • Adsense • Adwords • (SOAP Based)
  • 23. Google Data APIs • 46 Apps • Tools • API Explorer • API Console • OAuth 2.0 Playground
  • 24. Demo • Discovery • Books • URL Shorter • Tasks • Google + • Others
  • 26. Thank You! siva@sivaa.in @sivaa_in
  • 27. References • http://en.wikipedia.org/wiki/Application_programming_interface • http://en.wikipedia.org/wiki/Representational_state_transfer • http://en.wikipedia.org/wiki/Google_Code • http://googlecode.blogspot.in/2009/08/well-earned-retirement-for-soap-search.html • http://stackoverflow.com/questions/6166746/why-use-soap-for-webservices • http://stackoverflow.com/questions/630453/put-vs-post-in-rest • http://stackoverflow.com/questions/3487991/why-does-oauth-v2-have-both-access-and-refresh-tokens