SlideShare a Scribd company logo
Presented at GDG DevFest Ahmedabad 2015
Presented By : Dipali Vyas
Project Manager @ Zestard Technologies
Date: 27-Dec-2015
Google Apps Script
What is GAS -
Google Apps
Script?
And What
Magic we are
going to see.
Google Apps Script is a JavaScript cloud
scripting language to automate tasks
▸ Editor in a browser & managed in cloud
(no install/setup, files stored,shared, versioned)
▸ JavaScript runtime in the cloud
( compliant, debuggable, and performant )
▸ Set of APIs and hooks to Google products
(extend and enhance, built in security, distribution
mechanisms
2
11 Google apps, 1 platform in the cloud
Getting
Started with
Google Apps
Script (GAS)
▸ Standalone script https://script.google.
com
Google Drive > Create > More > Script **
▸ Spreadsheet/App-bound script
Tools >Script Editor **
▸ Sites-bound script
More > Manage Site > Apps Scripts
> Add new script **
** Do take care of the Authorization Step while scripting
3
Standalone
Script
Example
function createAndSendDocument() {
// Create a new Google Doc named 'DevFestAhm15 GAS Demo1'
var doc = DocumentApp.create('DevFestAhm15 GAS Demo1');
// Access the body of the document, then add a paragraph.
doc.getBody().appendParagraph('This document was created by Google Apps Script-Standalone Script. This is part
of DevFestAhm15 GAS Demo1 provided by Dipali Vyas during the presentation in front of excellent participants of the
session ');
// Get the URL of the document.
var url = doc.getUrl();
// Get the email address of the active user - that's you.
var email = Session.getActiveUser().getEmail();
// Get the name of the document to use as an email subject line.
var subject = doc.getName();
// Append a new string to the "url" variable to use as an email body.
var body = 'Link to your doc created at DevFestAhm15 : ' + url;
// Send yourself an email with a link to the document.
GmailApp.sendEmail(email, subject, body);
}
==========End
4
Spreadsheet
/ App Bound
Script
Example
Bound scripts can call a few methods :
▸ getActiveSpreadsheet(), getActiveDocument(), and getActiveForm()
allow bound scripts to refer to their parent file without referring to the
file's ID.
▸ getUi lets bound scripts access the user interface for their parent file to
add custom menus, dialogs, and sidebars.
▸ In Google Sheets, getActiveSheet(), getActiveRange(), and
getActiveCell() let the script determine the user's current sheet,
selected range of cells, or selected individual
cell.setActiveSheet(sheet) and setActiveRange(range) let the script
change those selections.
▸ In Google Docs, getCursor() and getSelection() let the script determine
the position of the user's cursor or selected text. setCursor(position)
and setSelection(range) let the script change those locations.
5
Google
Apps
Script’s
Fundamentals
6 IntegrationTriggersCustom UI
Custom UI
▸ Menus
▸ Sub-Menus
▸ Dialogs
▸ SideBars
Triggers
▸ Simple
triggers
(built-in
functions)
▸ Installable
triggers
Integration
With all Google
apps, we can
initially check
Triggers in
Apps Script
A trigger is a type of script resource that listens for a
particular event and executes a function when that
event fires.
▸ Simple triggers
▸ Specially-named built-in functions that are
specific to spreadsheets
▹ onEdit
▹ onOpen
▹ onInstall
▸ Installable triggers
▸ Time-based triggers
▸ Container-bound installable triggers (let's make
one!)
7
Use Cases
App
Reference #1
Grading made easy with Flubaroo
▸ Create quiz using Google Forms
▸ Automatically grades against
answer key
▸ Can email results and answers to
each student
▸ Provides charts to analyze the
results
8
Use Cases
App
Reference
#2
Many types of mail merge
▸ Define a simple template using a draft email,
document, sites page, or spreadsheet cell
▸ Add placeholder values that should be
dynamically replaced
▸ Each spreadsheet row merged with template
and sent out
(Example of MailMerge by Amit Agrawal)
9
Easy
Reference
for the
Beginners
▸ http://developers.google.com/apps-
script
User guide covering basic functionality
30+ tutorials with code Videos
▸ YouTube channels
▸ GoogleDevelopers and GoogleApps Stack
Overflow
Tag questions with google-apps-script )
▸ Very active community, Google moderated
Google Apps Developer Blog
10
11 THANKS!
Any questions?
Special thanks to all the people who made and
released these awesome resources for free.
Google
Apps
Script
Presented at GDG DevFest Ahmedabad 2015
Presented By : Dipali Vyas
Project Manager @ Zestard Technologies
Date: 27-Dec-2015
Email: dipalia@gmail.com
Twitter: @dipalia

More Related Content

What's hot

Gradle 101
Gradle 101Gradle 101
Gradle 101
Kurt Mbanje
 
Redux and context api with react native app introduction, use cases, implemen...
Redux and context api with react native app introduction, use cases, implemen...Redux and context api with react native app introduction, use cases, implemen...
Redux and context api with react native app introduction, use cases, implemen...
Katy Slemon
 
7 maven vsgradle
7 maven vsgradle7 maven vsgradle
7 maven vsgradle
Avitesh Kesharwani
 
Creating web api and consuming- part 1
Creating web api and consuming- part 1Creating web api and consuming- part 1
Creating web api and consuming- part 1
Dipendra Shekhawat
 
IBM cognos work space configuration.pptx
IBM cognos work space configuration.pptxIBM cognos work space configuration.pptx
IBM cognos work space configuration.pptx
vishal choudhary
 
Html tutorial.lesson1
Html tutorial.lesson1Html tutorial.lesson1
Html tutorial.lesson1
grassos
 
Urban Airship and Android Integration for Push Notification and In-App Notifi...
Urban Airship and Android Integration for Push Notification and In-App Notifi...Urban Airship and Android Integration for Push Notification and In-App Notifi...
Urban Airship and Android Integration for Push Notification and In-App Notifi...
Zeeshan Rahman
 
Urban Airship & Android Application Integration Document
Urban Airship & Android Application Integration DocumentUrban Airship & Android Application Integration Document
Urban Airship & Android Application Integration Document
mobi fly
 
Android App Development 20150402
Android App Development 20150402Android App Development 20150402
Android App Development 20150402Hideo Kadowaki
 
Google Apps Script for Beginners- Amazing Things with Code
Google Apps Script for Beginners- Amazing Things with CodeGoogle Apps Script for Beginners- Amazing Things with Code
Google Apps Script for Beginners- Amazing Things with Code
Laurence Svekis ✔
 
Introduction to Firebase on Android
Introduction to Firebase on AndroidIntroduction to Firebase on Android
Introduction to Firebase on Android
amsanjeev
 
React App State Management with react hooks and context api
React App State Management with react hooks and context apiReact App State Management with react hooks and context api
React App State Management with react hooks and context api
Jan Ranostaj
 
Android App Development 20150604
Android App Development 20150604Android App Development 20150604
Android App Development 20150604
Hideo Kadowaki
 
Google cloud endpoints
Google cloud endpointsGoogle cloud endpoints
Google cloud endpoints
Dimitar Danailov
 
Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster
Andres Almiray
 

What's hot (16)

Gradle 101
Gradle 101Gradle 101
Gradle 101
 
Redux and context api with react native app introduction, use cases, implemen...
Redux and context api with react native app introduction, use cases, implemen...Redux and context api with react native app introduction, use cases, implemen...
Redux and context api with react native app introduction, use cases, implemen...
 
7 maven vsgradle
7 maven vsgradle7 maven vsgradle
7 maven vsgradle
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Creating web api and consuming- part 1
Creating web api and consuming- part 1Creating web api and consuming- part 1
Creating web api and consuming- part 1
 
IBM cognos work space configuration.pptx
IBM cognos work space configuration.pptxIBM cognos work space configuration.pptx
IBM cognos work space configuration.pptx
 
Html tutorial.lesson1
Html tutorial.lesson1Html tutorial.lesson1
Html tutorial.lesson1
 
Urban Airship and Android Integration for Push Notification and In-App Notifi...
Urban Airship and Android Integration for Push Notification and In-App Notifi...Urban Airship and Android Integration for Push Notification and In-App Notifi...
Urban Airship and Android Integration for Push Notification and In-App Notifi...
 
Urban Airship & Android Application Integration Document
Urban Airship & Android Application Integration DocumentUrban Airship & Android Application Integration Document
Urban Airship & Android Application Integration Document
 
Android App Development 20150402
Android App Development 20150402Android App Development 20150402
Android App Development 20150402
 
Google Apps Script for Beginners- Amazing Things with Code
Google Apps Script for Beginners- Amazing Things with CodeGoogle Apps Script for Beginners- Amazing Things with Code
Google Apps Script for Beginners- Amazing Things with Code
 
Introduction to Firebase on Android
Introduction to Firebase on AndroidIntroduction to Firebase on Android
Introduction to Firebase on Android
 
React App State Management with react hooks and context api
React App State Management with react hooks and context apiReact App State Management with react hooks and context api
React App State Management with react hooks and context api
 
Android App Development 20150604
Android App Development 20150604Android App Development 20150604
Android App Development 20150604
 
Google cloud endpoints
Google cloud endpointsGoogle cloud endpoints
Google cloud endpoints
 
Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster Javaone - Gradle: Harder, Better, Stronger, Faster
Javaone - Gradle: Harder, Better, Stronger, Faster
 

Similar to Extending Google Apps/Spreadsheet using Google Apps Script

Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
Francesco Marchitelli
 
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
wesley chun
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIs
wesley chun
 
Image archive, analysis & report generation with Google Cloud
Image archive, analysis & report generation with Google CloudImage archive, analysis & report generation with Google Cloud
Image archive, analysis & report generation with Google Cloud
wesley chun
 
google drive and the google drive sdk
google drive and the google drive sdkgoogle drive and the google drive sdk
google drive and the google drive sdk
firenze-gtug
 
Easy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & MercurialEasy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & MercurialWidoyo PH
 
Test Complete
Test CompleteTest Complete
Test Complete
RomSoft SRL
 
Get More Out Of Google Docs
Get More Out Of Google DocsGet More Out Of Google Docs
Get More Out Of Google Docsbuggeen
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-python
Deepak Garg
 
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
wesley chun
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
Widoyo PH
 
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
Jitendra Bafna
 
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
 
cucumber harpal.pdf
cucumber harpal.pdfcucumber harpal.pdf
cucumber harpal.pdf
VennelaVasupilli
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Software Park Thailand
 
Arquillian & Citrus
Arquillian & CitrusArquillian & Citrus
Arquillian & Citrus
christophd
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP
Eric Johnson
 
Gradle - the Enterprise Automation Tool
Gradle  - the Enterprise Automation ToolGradle  - the Enterprise Automation Tool
Gradle - the Enterprise Automation Tool
Izzet Mustafaiev
 
Current Toolbox and Pedagogies - October 09
Current Toolbox and Pedagogies - October 09Current Toolbox and Pedagogies - October 09
Current Toolbox and Pedagogies - October 09
point2five
 
7\9 SSIS 2008R2_Training - Script Task
7\9 SSIS 2008R2_Training - Script Task7\9 SSIS 2008R2_Training - Script Task
7\9 SSIS 2008R2_Training - Script Task
Pramod Singla
 

Similar to Extending Google Apps/Spreadsheet using Google Apps Script (20)

Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
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
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIs
 
Image archive, analysis & report generation with Google Cloud
Image archive, analysis & report generation with Google CloudImage archive, analysis & report generation with Google Cloud
Image archive, analysis & report generation with Google Cloud
 
google drive and the google drive sdk
google drive and the google drive sdkgoogle drive and the google drive sdk
google drive and the google drive sdk
 
Easy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & MercurialEasy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & Mercurial
 
Test Complete
Test CompleteTest Complete
Test Complete
 
Get More Out Of Google Docs
Get More Out Of Google DocsGet More Out Of Google Docs
Get More Out Of Google Docs
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-python
 
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
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
 
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...
 
cucumber harpal.pdf
cucumber harpal.pdfcucumber harpal.pdf
cucumber harpal.pdf
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Arquillian & Citrus
Arquillian & CitrusArquillian & Citrus
Arquillian & Citrus
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP
 
Gradle - the Enterprise Automation Tool
Gradle  - the Enterprise Automation ToolGradle  - the Enterprise Automation Tool
Gradle - the Enterprise Automation Tool
 
Current Toolbox and Pedagogies - October 09
Current Toolbox and Pedagogies - October 09Current Toolbox and Pedagogies - October 09
Current Toolbox and Pedagogies - October 09
 
7\9 SSIS 2008R2_Training - Script Task
7\9 SSIS 2008R2_Training - Script Task7\9 SSIS 2008R2_Training - Script Task
7\9 SSIS 2008R2_Training - Script Task
 

Recently uploaded

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 

Recently uploaded (20)

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 

Extending Google Apps/Spreadsheet using Google Apps Script

  • 1. Presented at GDG DevFest Ahmedabad 2015 Presented By : Dipali Vyas Project Manager @ Zestard Technologies Date: 27-Dec-2015 Google Apps Script
  • 2. What is GAS - Google Apps Script? And What Magic we are going to see. Google Apps Script is a JavaScript cloud scripting language to automate tasks ▸ Editor in a browser & managed in cloud (no install/setup, files stored,shared, versioned) ▸ JavaScript runtime in the cloud ( compliant, debuggable, and performant ) ▸ Set of APIs and hooks to Google products (extend and enhance, built in security, distribution mechanisms 2 11 Google apps, 1 platform in the cloud
  • 3. Getting Started with Google Apps Script (GAS) ▸ Standalone script https://script.google. com Google Drive > Create > More > Script ** ▸ Spreadsheet/App-bound script Tools >Script Editor ** ▸ Sites-bound script More > Manage Site > Apps Scripts > Add new script ** ** Do take care of the Authorization Step while scripting 3
  • 4. Standalone Script Example function createAndSendDocument() { // Create a new Google Doc named 'DevFestAhm15 GAS Demo1' var doc = DocumentApp.create('DevFestAhm15 GAS Demo1'); // Access the body of the document, then add a paragraph. doc.getBody().appendParagraph('This document was created by Google Apps Script-Standalone Script. This is part of DevFestAhm15 GAS Demo1 provided by Dipali Vyas during the presentation in front of excellent participants of the session '); // Get the URL of the document. var url = doc.getUrl(); // Get the email address of the active user - that's you. var email = Session.getActiveUser().getEmail(); // Get the name of the document to use as an email subject line. var subject = doc.getName(); // Append a new string to the "url" variable to use as an email body. var body = 'Link to your doc created at DevFestAhm15 : ' + url; // Send yourself an email with a link to the document. GmailApp.sendEmail(email, subject, body); } ==========End 4
  • 5. Spreadsheet / App Bound Script Example Bound scripts can call a few methods : ▸ getActiveSpreadsheet(), getActiveDocument(), and getActiveForm() allow bound scripts to refer to their parent file without referring to the file's ID. ▸ getUi lets bound scripts access the user interface for their parent file to add custom menus, dialogs, and sidebars. ▸ In Google Sheets, getActiveSheet(), getActiveRange(), and getActiveCell() let the script determine the user's current sheet, selected range of cells, or selected individual cell.setActiveSheet(sheet) and setActiveRange(range) let the script change those selections. ▸ In Google Docs, getCursor() and getSelection() let the script determine the position of the user's cursor or selected text. setCursor(position) and setSelection(range) let the script change those locations. 5
  • 6. Google Apps Script’s Fundamentals 6 IntegrationTriggersCustom UI Custom UI ▸ Menus ▸ Sub-Menus ▸ Dialogs ▸ SideBars Triggers ▸ Simple triggers (built-in functions) ▸ Installable triggers Integration With all Google apps, we can initially check
  • 7. Triggers in Apps Script A trigger is a type of script resource that listens for a particular event and executes a function when that event fires. ▸ Simple triggers ▸ Specially-named built-in functions that are specific to spreadsheets ▹ onEdit ▹ onOpen ▹ onInstall ▸ Installable triggers ▸ Time-based triggers ▸ Container-bound installable triggers (let's make one!) 7
  • 8. Use Cases App Reference #1 Grading made easy with Flubaroo ▸ Create quiz using Google Forms ▸ Automatically grades against answer key ▸ Can email results and answers to each student ▸ Provides charts to analyze the results 8
  • 9. Use Cases App Reference #2 Many types of mail merge ▸ Define a simple template using a draft email, document, sites page, or spreadsheet cell ▸ Add placeholder values that should be dynamically replaced ▸ Each spreadsheet row merged with template and sent out (Example of MailMerge by Amit Agrawal) 9
  • 10. Easy Reference for the Beginners ▸ http://developers.google.com/apps- script User guide covering basic functionality 30+ tutorials with code Videos ▸ YouTube channels ▸ GoogleDevelopers and GoogleApps Stack Overflow Tag questions with google-apps-script ) ▸ Very active community, Google moderated Google Apps Developer Blog 10
  • 11. 11 THANKS! Any questions? Special thanks to all the people who made and released these awesome resources for free.
  • 12. Google Apps Script Presented at GDG DevFest Ahmedabad 2015 Presented By : Dipali Vyas Project Manager @ Zestard Technologies Date: 27-Dec-2015 Email: dipalia@gmail.com Twitter: @dipalia