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

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 DevelopmentColin Su
 
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)Aditium
 
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 DubaiCodemotion 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 AppsSanjay Patel
 
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 Modelbgerman
 
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...NCCOMMS
 
Connecting google
Connecting googleConnecting google
Connecting googleSon Nguyen
 
HTML5 New and Improved
HTML5   New and ImprovedHTML5   New and Improved
HTML5 New and ImprovedTimothy Fisher
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1Kay Kim
 
Firebase on Android: The Big Picture
Firebase on Android: The Big PictureFirebase on Android: The Big Picture
Firebase on Android: The Big PictureSriyank Siddhartha
 
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...BlueMetalInc
 
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 ShuppsNCCOMMS
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013Toni Il Caiser
 
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?InnovationM
 

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

Retail digital signage merchandising applications
Retail digital signage merchandising applicationsRetail digital signage merchandising applications
Retail digital signage merchandising applicationsMichael Epstein
 
Киселинен дъжд
Киселинен дъжд Киселинен дъжд
Киселинен дъжд 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 UkraineAnastasiya 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 ConferenceAnastasiya Lemysh
 
Torre de Babel / Meteora
Torre de Babel / MeteoraTorre de Babel / Meteora
Torre de Babel / MeteoraAna Hermida
 
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 finalruthrewired
 
The Open Web & The Broken TVs
The Open Web & The Broken TVsThe Open Web & The Broken TVs
The Open Web & The Broken TVslomalogue
 

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

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 Cloudwesley chun
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champKumton Suttiraksiri
 
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 PlaygroundMartin Hawksey
 
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...wesley chun
 
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 & morewesley chun
 
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 PlatformMobileMonday Tel-Aviv
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Pythonwesley chun
 
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 Startedguest1af57e
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIswesley chun
 
Build with ALL of Google Cloud
Build with ALL of Google CloudBuild with ALL of Google Cloud
Build with ALL of Google Cloudwesley chun
 
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 overviewwesley chun
 
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 APIswesley chun
 
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 EngineTahir Akram
 
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-oauthikailan
 
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 AvivAmazon Web Services
 
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 needsMicrosoft Tech Community
 
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 Codemotion
 

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

Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 

Recently uploaded (20)

Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 

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