SlideShare a Scribd company logo
1 of 50
Introduction to Google Apps
Platform
Prasetyo Andy W.
@praw
Who am I?
What are we talking about?
Google Apps Platform

Apps Script
Application APIs
Domain Admin APIs
Auth APIs
What is Google Apps
Script?
Apps Script


JavaScript cloud scripting language
Automate tasks across Google products and 3rd party
services
What you can do with it?

Automate repetitive processes and workflows
Link Google products with third party services
Create custom spreadsheet functions
Build rich GUI and menus
Development Environment


Browser
No client libraries needed to install and server to
maintain
Direct access http://script.google.com
Prerequisites


 Google Account
 Supported web browser
 Basic understanding of JavaScript
Google Apps Script Security
Model
Grant access needed to any scripts you run that accesses
private data
Script permission level and access
  Standalone scripts
  Container-bound scripts
    Container owner
    Container editor
    Container viewer
Building your first script

 We will create standalone script
 There are two ways to create a new standalone script:
   From Google Drive, choose Create > More > Script
   Go to https://script.google.com
Building your first script


 Let’s try to create a simple one:
   create a new Google Docs
   email you a link to the newly created document
Executing a script
 Script editor
 Custom function in a spreadsheet
 Web app
 Gadget in Google sites
 Container extension
 Time-driven trigger
 Container-specific trigger
Executing a script
click Run icon or choose Run >
createAndSendDocument from the menu
More about Apps Script



Tutorials: https://developers.google.com/apps-script/
articles
Building user interfaces


 HTML Service
 UI Service
 GUI Builder
Storing data

 Script and user properties
 ScriptDb
 Spreadsheets
 JDBC
Events and Triggers
Events: action that happens when the state of an
object changes
  Clock tick events
  Script installation events
  Spreadsheet open events
  Spreadsheet edit events
  Spreadsheet form submit events
Events and Triggers


Trigger: type of script resource that listens to a
particular event and executes a function when that
event fires
Now, let’s talk about
Application API
Application API

 Allow developers to write applications that access
 Google Applications: Gmail, Calendar, and many others
 using Google Data APIs, Gadgets and Google Apps
 Script
 Based on JSON and Atom and RSS syndication
 formats and the Atom publishing protocol
Application APIs
 Calendar API
 Tasks API
 Gmail API
 Contacts API
 Document List API
 Spreadsheet API
 Site API
Prerequisites

 Get a Google Account
 Try out Google apps (Calendar, Contacts, Docs, etc)
 Register your project, visit APIs Console (https://
 code.google.com/apis/console)
 Learn about REST
 Learn about JSON data format
Invoke the API


 Using REST directly
 Using client libraries
Restful APIs


 https://www.googleapis.com/{apiName}/{apiVersion}/
 {resourcePath}?{parameters}
 Returns JSON format
Client Library
 Client library is available for:
   Java
   PHP
   Python
   .NET
   Ruby
Calendar API

Lets you develop client applications that create new
events, edit or delete existing events, and search for
events
Integrates your apps with Google Calendar, suits for
apps that need to display Calendar and synchronizes it
with Google Calendar
Uses JSON starting on v3
Tasks API

provides developers with a powerful set of API
endpoints for searching, reading, and updating Google
Tasks content and metadata
Various integration projects with web apps or other
Google APIs, use Google Task API to manage Google
task lists in a mobile app
Gmail API
Help you and your users interact with, configure, and extend Gmail
Some possibilities:
  Gadgets
  OAuth Access to IMAP or SMTP
  IMAP Extension
  Gmail Inbox Feed
  Email Migration API
  Email Settings API
Contacts API


Allows client applications to create, edit or delete user’s
contacts
Supports protocol (via curl or wget), Java, .NET and
Python
Document List API

Allows developer to create, retrieve, update and delete
Google Docs
Included advanced features like resource archives,
OCR (Optical Character Recognition), translation and
revision history
Useful for storing data in the cloud, perform resource
management, convert document formats, etc
Spreadsheets API


Managing worksheets in a Google spreadsheet
Consuming the rows of a worksheet
Managing cells in a worksheet by position
Spreadsheets API

Common examples:
 Computing financial data stored in an inaccessible
 system
 Presenting statistics to users in a web browser
 Consuming data entered into a spreadsheet by a
 user
Sites API


 Allows client applications to access, publish, and
 modify content within a Google Site
 Access and modify Google Site data using Google
 Data API feeds
You can do it all, if we
implement Auth APIs
Auth API



Allows third-party applications to get limited access to
a user’s Google accounts for certain types of activities
Auth API

OAuth 2.0
OAuth 1.0
Hybrid Protocol
OpenID
OAuth 2.0


Used for authentication and authorization
Relatively simple
OAuth 2.0

Four steps of accessing Google API using OAuth 2.0:
  1. Register application
  2. Obtain an access token from the Google
    Authorization Server
  3. Send the Access Token
  4. Refresh the Access Token
OAuth 2.0 scenarios
Login
Web server
Client-side
Installed apps
Devices
Services accounts
OAuth 2.0
Endpoint: https://accounts.google.com/o/oauth2/
auth2
Parameters:
  response_type
  redirect_uri
  scope
  state
Okay, let’s move on and talk
about Domain Admin API
Domain Admin APIs
Allows developers to write applications to manage
Google Apps domains
Migrate from and integrate with existing IT
infrastructure, create users, update settings, audit
activity and more
Based on JSON for Admin Audit API and Groups
Settings API, others are based on RSS syndication
formats
Domain Admin API
Audit API               Email Migration API
  Admin Audit API       Email Settings API
  Email Audit API       Groups Settings API
Admin Settings API      Provisioning API
Calendar Resource API   Reporting API
Shared Contacts API     User Profiles API
Examples
Au-to-do
Examples
Au-to-do
Examples
Hojoki.com
Examples
Hojoki.com
Thank you!
Prasetyo Andy W.
     @praw

More Related Content

What's hot

SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
Sanjay Patel
 
Firebase on Android: The Big Picture
Firebase on Android: The Big PictureFirebase on Android: The Big Picture
Firebase on Android: The Big Picture
Sriyank Siddhartha
 

What's hot (20)

Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API Development
 
Android dev tips
Android dev tipsAndroid dev tips
Android dev tips
 
R.A.P. (Rely on Android Platform)
R.A.P. (Rely on Android Platform)R.A.P. (Rely on Android Platform)
R.A.P. (Rely on Android Platform)
 
Firebase
FirebaseFirebase
Firebase
 
Building event driven serverless apps by Danilo Poccia at Codemotion Dubai
Building event driven serverless apps by Danilo Poccia at Codemotion DubaiBuilding event driven serverless apps by Danilo Poccia at Codemotion Dubai
Building event driven serverless apps by Danilo Poccia at Codemotion Dubai
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
spm
spmspm
spm
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
 
Mule google connectors
Mule google connectorsMule google connectors
Mule google connectors
 
Connecting google
Connecting googleConnecting google
Connecting google
 
HTML5 New and Improved
HTML5   New and ImprovedHTML5   New and Improved
HTML5 New and Improved
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1
 
Firebase on Android: The Big Picture
Firebase on Android: The Big PictureFirebase on Android: The Big Picture
Firebase on Android: The Big Picture
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
Mule connectors
Mule connectorsMule connectors
Mule connectors
 
O365Con18 - Introduction to Azure Web Applications - Eric Shupps
O365Con18 - Introduction to Azure Web Applications  - Eric ShuppsO365Con18 - Introduction to Azure Web Applications  - Eric Shupps
O365Con18 - Introduction to Azure Web Applications - Eric Shupps
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
Eventbus Library and How Does it Work?
Eventbus Library and How Does it Work?Eventbus Library and How Does it Work?
Eventbus Library and How Does it Work?
 

Viewers also liked

Киселинен дъжд
Киселинен дъжд Киселинен дъжд
Киселинен дъжд
Cvetelin
 
Personal Data Protection in Pharmaceutical Sector (webinar presentation)
Personal Data Protection in Pharmaceutical Sector (webinar presentation)Personal Data Protection in Pharmaceutical Sector (webinar presentation)
Personal Data Protection in Pharmaceutical Sector (webinar presentation)
Anastasiya Lemysh
 
Trademark opposition procedure to be introduced in Ukraine
Trademark opposition procedure to be introduced in UkraineTrademark opposition procedure to be introduced in Ukraine
Trademark opposition procedure to be introduced in Ukraine
Anastasiya Lemysh
 
Presentation on Personal Data Protection in Russia at Moscow Times Conference
Presentation on Personal Data Protection in Russia at Moscow Times ConferencePresentation on Personal Data Protection in Russia at Moscow Times Conference
Presentation on Personal Data Protection in Russia at Moscow Times Conference
Anastasiya Lemysh
 

Viewers also liked (20)

Matematika
MatematikaMatematika
Matematika
 
Retail digital signage merchandising applications
Retail digital signage merchandising applicationsRetail digital signage merchandising applications
Retail digital signage merchandising applications
 
Pizza data - Working with Data
Pizza data - Working with DataPizza data - Working with Data
Pizza data - Working with Data
 
Киселинен дъжд
Киселинен дъжд Киселинен дъжд
Киселинен дъжд
 
Araij Trading
Araij TradingAraij Trading
Araij Trading
 
Personal Data Protection in Pharmaceutical Sector (webinar presentation)
Personal Data Protection in Pharmaceutical Sector (webinar presentation)Personal Data Protection in Pharmaceutical Sector (webinar presentation)
Personal Data Protection in Pharmaceutical Sector (webinar presentation)
 
Trademark opposition procedure to be introduced in Ukraine
Trademark opposition procedure to be introduced in UkraineTrademark opposition procedure to be introduced in Ukraine
Trademark opposition procedure to be introduced in Ukraine
 
Presentation on Personal Data Protection in Russia at Moscow Times Conference
Presentation on Personal Data Protection in Russia at Moscow Times ConferencePresentation on Personal Data Protection in Russia at Moscow Times Conference
Presentation on Personal Data Protection in Russia at Moscow Times Conference
 
Torre de Babel / Meteora
Torre de Babel / MeteoraTorre de Babel / Meteora
Torre de Babel / Meteora
 
Palm desert toyota
Palm desert toyotaPalm desert toyota
Palm desert toyota
 
Español 3 grammar notebook
Español 3 grammar notebookEspañol 3 grammar notebook
Español 3 grammar notebook
 
theplaylab
theplaylabtheplaylab
theplaylab
 
Intelligent Design En Rev1(2)
Intelligent  Design En Rev1(2)Intelligent  Design En Rev1(2)
Intelligent Design En Rev1(2)
 
Berlingske Maj 2009
Berlingske Maj 2009Berlingske Maj 2009
Berlingske Maj 2009
 
Beginner's guide to self promotion final
Beginner's guide to self promotion finalBeginner's guide to self promotion final
Beginner's guide to self promotion final
 
Etr400 fta lt
Etr400 fta ltEtr400 fta lt
Etr400 fta lt
 
Tulpės
TulpėsTulpės
Tulpės
 
horoskopas
horoskopashoroskopas
horoskopas
 
The Open Web & The Broken TVs
The Open Web & The Broken TVsThe Open Web & The Broken TVs
The Open Web & The Broken TVs
 
Lab
LabLab
Lab
 

Similar to Introduction to Google Apps Platform

Similar to Introduction to Google Apps Platform (20)

Varaprasad-Go
Varaprasad-GoVaraprasad-Go
Varaprasad-Go
 
Cloud computing overview & Technical intro to Google Cloud
Cloud computing overview & Technical intro to Google CloudCloud computing overview & Technical intro to Google Cloud
Cloud computing overview & Technical intro to Google Cloud
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
 
Google Apps Script the Authentic{ated} Mobile Playground
Google Apps Script the Authentic{ated} Mobile PlaygroundGoogle Apps Script the Authentic{ated} Mobile Playground
Google Apps Script the Authentic{ated} Mobile Playground
 
Build an AI/ML-driven image archive processing workflow: Image archive, analy...
Build an AI/ML-driven image archive processing workflow: Image archive, analy...Build an AI/ML-driven image archive processing workflow: Image archive, analy...
Build an AI/ML-driven image archive processing workflow: Image archive, analy...
 
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & morePower your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
Power your apps with Gmail, Google Drive, Calendar, Sheets, Slides & more
 
300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud Platform300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud Platform
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
Google Technical Webinar - Building Mashups with Google Apps and SAP, using S...
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIs
 
Build with ALL of Google Cloud
Build with ALL of Google CloudBuild with ALL of Google Cloud
Build with ALL of Google Cloud
 
Exploring Google (Cloud) APIs & Cloud Computing overview
Exploring Google (Cloud) APIs & Cloud Computing overviewExploring Google (Cloud) APIs & Cloud Computing overview
Exploring Google (Cloud) APIs & Cloud Computing overview
 
Exploring Google APIs 102: Cloud vs. non-GCP Google APIs
Exploring Google APIs 102: Cloud vs. non-GCP Google APIsExploring Google APIs 102: Cloud vs. non-GCP Google APIs
Exploring Google APIs 102: Cloud vs. non-GCP Google APIs
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App Engine
 
2011 august-gdd-mexico-city-rest-json-oauth
2011 august-gdd-mexico-city-rest-json-oauth2011 august-gdd-mexico-city-rest-json-oauth
2011 august-gdd-mexico-city-rest-json-oauth
 
Event-Driven Serverless Apps - Pop-up Loft Tel Aviv
Event-Driven Serverless Apps - Pop-up Loft Tel AvivEvent-Driven Serverless Apps - Pop-up Loft Tel Aviv
Event-Driven Serverless Apps - Pop-up Loft Tel Aviv
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite A fresh look at Google’s Cloud by Mandy Waite
A fresh look at Google’s Cloud by Mandy Waite
 

Recently uploaded

Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
fonyou31
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
SoniaTolstoy
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Krashi Coaching
 

Recently uploaded (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

Introduction to Google Apps Platform

  • 1. Introduction to Google Apps Platform Prasetyo Andy W. @praw
  • 3. What are we talking about?
  • 4. Google Apps Platform Apps Script Application APIs Domain Admin APIs Auth APIs
  • 5. What is Google Apps Script?
  • 6. Apps Script JavaScript cloud scripting language Automate tasks across Google products and 3rd party services
  • 7. What you can do with it? Automate repetitive processes and workflows Link Google products with third party services Create custom spreadsheet functions Build rich GUI and menus
  • 8. Development Environment Browser No client libraries needed to install and server to maintain Direct access http://script.google.com
  • 9. Prerequisites Google Account Supported web browser Basic understanding of JavaScript
  • 10. Google Apps Script Security Model Grant access needed to any scripts you run that accesses private data Script permission level and access Standalone scripts Container-bound scripts Container owner Container editor Container viewer
  • 11. Building your first script We will create standalone script There are two ways to create a new standalone script: From Google Drive, choose Create > More > Script Go to https://script.google.com
  • 12. Building your first script Let’s try to create a simple one: create a new Google Docs email you a link to the newly created document
  • 13.
  • 14. Executing a script Script editor Custom function in a spreadsheet Web app Gadget in Google sites Container extension Time-driven trigger Container-specific trigger
  • 15. Executing a script click Run icon or choose Run > createAndSendDocument from the menu
  • 16. More about Apps Script Tutorials: https://developers.google.com/apps-script/ articles
  • 17. Building user interfaces HTML Service UI Service GUI Builder
  • 18. Storing data Script and user properties ScriptDb Spreadsheets JDBC
  • 19. Events and Triggers Events: action that happens when the state of an object changes Clock tick events Script installation events Spreadsheet open events Spreadsheet edit events Spreadsheet form submit events
  • 20. Events and Triggers Trigger: type of script resource that listens to a particular event and executes a function when that event fires
  • 21. Now, let’s talk about Application API
  • 22. Application API Allow developers to write applications that access Google Applications: Gmail, Calendar, and many others using Google Data APIs, Gadgets and Google Apps Script Based on JSON and Atom and RSS syndication formats and the Atom publishing protocol
  • 23. Application APIs Calendar API Tasks API Gmail API Contacts API Document List API Spreadsheet API Site API
  • 24. Prerequisites Get a Google Account Try out Google apps (Calendar, Contacts, Docs, etc) Register your project, visit APIs Console (https:// code.google.com/apis/console) Learn about REST Learn about JSON data format
  • 25. Invoke the API Using REST directly Using client libraries
  • 26. Restful APIs https://www.googleapis.com/{apiName}/{apiVersion}/ {resourcePath}?{parameters} Returns JSON format
  • 27. Client Library Client library is available for: Java PHP Python .NET Ruby
  • 28. Calendar API Lets you develop client applications that create new events, edit or delete existing events, and search for events Integrates your apps with Google Calendar, suits for apps that need to display Calendar and synchronizes it with Google Calendar Uses JSON starting on v3
  • 29. Tasks API provides developers with a powerful set of API endpoints for searching, reading, and updating Google Tasks content and metadata Various integration projects with web apps or other Google APIs, use Google Task API to manage Google task lists in a mobile app
  • 30. Gmail API Help you and your users interact with, configure, and extend Gmail Some possibilities: Gadgets OAuth Access to IMAP or SMTP IMAP Extension Gmail Inbox Feed Email Migration API Email Settings API
  • 31. Contacts API Allows client applications to create, edit or delete user’s contacts Supports protocol (via curl or wget), Java, .NET and Python
  • 32. Document List API Allows developer to create, retrieve, update and delete Google Docs Included advanced features like resource archives, OCR (Optical Character Recognition), translation and revision history Useful for storing data in the cloud, perform resource management, convert document formats, etc
  • 33. Spreadsheets API Managing worksheets in a Google spreadsheet Consuming the rows of a worksheet Managing cells in a worksheet by position
  • 34. Spreadsheets API Common examples: Computing financial data stored in an inaccessible system Presenting statistics to users in a web browser Consuming data entered into a spreadsheet by a user
  • 35. Sites API Allows client applications to access, publish, and modify content within a Google Site Access and modify Google Site data using Google Data API feeds
  • 36. You can do it all, if we implement Auth APIs
  • 37. Auth API Allows third-party applications to get limited access to a user’s Google accounts for certain types of activities
  • 38. Auth API OAuth 2.0 OAuth 1.0 Hybrid Protocol OpenID
  • 39. OAuth 2.0 Used for authentication and authorization Relatively simple
  • 40. OAuth 2.0 Four steps of accessing Google API using OAuth 2.0: 1. Register application 2. Obtain an access token from the Google Authorization Server 3. Send the Access Token 4. Refresh the Access Token
  • 41. OAuth 2.0 scenarios Login Web server Client-side Installed apps Devices Services accounts
  • 43. Okay, let’s move on and talk about Domain Admin API
  • 44. Domain Admin APIs Allows developers to write applications to manage Google Apps domains Migrate from and integrate with existing IT infrastructure, create users, update settings, audit activity and more Based on JSON for Admin Audit API and Groups Settings API, others are based on RSS syndication formats
  • 45. Domain Admin API Audit API Email Migration API Admin Audit API Email Settings API Email Audit API Groups Settings API Admin Settings API Provisioning API Calendar Resource API Reporting API Shared Contacts API User Profiles API

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. script properties:\n- key-value pairs yg disimpan oleh script pad suatu persistent store\n- key-value pairs yang unik berdasarkan user\nScriptDB:\n- js object database for GApps\n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. gadgets:\n- sidebar gadgets: small, portable web app that live in the lef-hand side of the Gmail UI\n- contextual gadgets: applications displayed at the bottom of individual email messages and are triggered by contextual clues\n\n
  31. contact entry\nretrieving all contacts\nretrieving contacts using query parameters\nretrieving a single contact\ncreating contacts\ncontact photo management\n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. code or token\nthe client_id obtained from the API Console\none of your redirect_uri registered\nspace delimited set o permissions the app req\nany string\n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n