SlideShare a Scribd company logo
1 of 42
Download to read offline
Confidential & ProprietaryConfidential & Proprietary
Exploring Google APIs
with Python & JavaScript
+Wesley Chun, @wescpy
Developer Advocate
Silicon Valley CodeCamp
Oct 2015: San José, CA
GDG New York City
Nov 2016: New York, NY
Contribute
questions at:
goo.gl/Rq6ABI
I teach
I write
I code
Confidential & Proprietary
Outline
● PART I: Overview of using Google APIs
○ Google Developers Console
○ Google APIs Client Library
○ Simple API key access to Google APIs
○ Authorized (OAuth2) access to Google APIs
○ Python code demos
■ Overview of boilerplate Python code (simple & authorized)
■ Demonstrate accessing 1-2 Google APIs
● PART II: Overview of Google Apps Script
○ Operating environment
○ Supported services
○ JavaScript code demos
■ Demonstrate accessing 1-2 Google APIs
● Summary
(Materials derived from Launchpad Online video series [goo.gl/kFMUa6] content)
Confidential & Proprietary
Google APIs (Part I) & Google Apps Script (Part II)
PyCon
May 2016: Portland, OR
BayPIGgies
Aug 2016: Mountain View, CA
Exploring Google APIs
with Python
+Wesley Chun, @wescpy
Developer Advocate
Can't wait? pip{,3} install -U google-api-python-client
AND console.developers.google.com
SF Python project night
Oct 2016: San Francisco, CA
GDG NYC
Nov 2016: New York, NY
Contribute
questions at:
goo.gl/Rq6ABI
Outline
● Overview
● Getting started
● Python
● Live demo(?)
● Wrap-up
Part I: Google APIs overview
BUT
... wait, there’s more...
Part II: Getting Started with Google APIs
Developers Console (devconsole)
OAuth2 scenarios
● Varies on application type (where apps located)
○ Web (server) applications
○ Installed (mobile & desktop computers) apps
○ Service accounts (cloud/server-to-server)
○ Client-side (JavaScript) apps
○ Limited-input devices (game consoles, printers, cameras, etc.)
○ developers.google.com/identity/protocols/OAuth2
○ TODAY: command-line script == "Installed"
Part III: Using Google APIs with Python
developers.google.com/discovery/libraries
Open source client
libraries for many
languages, not just
SIMPLE
AUTHORIZED
API access
Simple API access
General OAuth2 process
● Goal: valid access token == 3rd-party API data access
● How OAuth2 works (in general)
○ Step 1: Create OAuth2 credentials in DevConsole
○ Step 2: Send credentials to get access & refresh tokens
○ Step 3: Use access token to make authorized API calls
○ Step 4: Access tokens expire; use refresh to get new one
● developers.google.com/identity/protocols/OAuth2
● Others will be similar (with slight differences)
Authorized API access
SIMPLE
AUTHORIZED
Which do you choose?
Part IV: Demo (live would make it interesting)
Searching Google+ for social posts
Searching YouTube for videos
Listing your files in Google Drive
Use of multiple APIs supported
Simple, authorized, or a mix of both types of APIs; re-uses HTTP client; also see goo.gl/cdm3kZ
Write your own or see
github.com/googledrive/zipextractor (JS)
Build a Node.js customized reporting tool with our
Sheets API codelab at g.co/codelabs/sheets (JS)
Check out our Node.js Markdown-to-Google Slides
sample app demoing the Slides API
github.com/googlesamples/md2googleslides (JS)
Part V: Wrap-up
Reference
● Google Developers Console
○ console.developers.google.com
● Google APIs Client Library for Python (2 & 3)
○ pip{,3} install -U google-api-python-client
○ developers.google.com/api-client-library/python
■ .../python/guide/{django,google_app_engine} # special
● Other languages
○ developers.google.com/discovery/libraries
Reference
● Blog + video Resources
○ SETUP & BOILERPLATE
■ goo.gl/RbyTFD (new Google APIs project setup)
■ goo.gl/KMfbeK (common Python boilerplate code review)
○ GOOGLE APIs
■ goo.gl/ZIgf8k and goo.gl/EySSQV (Google Drive API)
■ goo.gl/pFYUQ2 (Gmail API)
■ goo.gl/KuYMiq (Google Calendar API)
■ goo.gl/N1RPwC and goo.gl/U6Oljn (Google Sheets API)
■ goo.gl/o6EFwk (Google Slides API)
Alternative 1
● Google Apps Script
○ What is it?
■ Executes as JavaScript in Google's cloud
■ Think “built-in” services vs. traditional API usage
■ Convenient access to G Suite/Google Apps data
■ Can also access other Google+external services
■ developers.google.com/apps-script
○ Video resources
■ goo.gl/1sXeuD (Apps Script intro)
■ goo.gl/oAzBN9 (Google Maps & Gmail APIs)
■ goo.gl/YuwZ0E (YouTube [Data] API)
■ goo.gl/xSzGl4 (Google Forms)
Alternative 2
● What about my favorite HTTP request library?
○ requests
■ python-requests.org
○ So can I use 'requests' to talk to Google APIs?
○ Answer: YES, but...
■ Not many examples out there
■ I found one at gist.github.com/ymotongpoo/1907281
■ BUT look at it, ~80% of code is auth{entic,oriz}ation
■ Client Library hides most of it from you
■ Summary: yes you can, but it'll be a DIY effort
Alternatives for other Google APIs
● Most, not all, Google APIs work with standard Client Library
● Other APIs/platforms have their own
○ Google AdWords
■ developers.google.com/adwords/api/docs/clientlibraries
○ Google Maps (Web Services)
■ developers.google.com/maps/web-services/client-library
○ Google Cloud Platform
■ cloud.google.com/python/apis
○ Firebase platform (Android, iOS, Web, C++, Node.js, Java)
■ firebase.google.com/docs/libraries
Thank you! Questions?
+Wesley Chun
google.com/+WesleyChun
@wescpy
twitter.com/wescpy
Google Apps Script
Accessing G Suite & other Google
services with JavaScript
+Wesley Chun, @wescpy
Developer Advocate
Silicon Valley CodeCamp
Oct 2015: San José, CA
GDG New York City
Nov 2016: New York, NY
Contribute
questions at:
goo.gl/Rq6ABI
Outline
● Background
● What Apps Script is/is NOT
● Supported services
● Use cases
● Example API usage
● Live demo(?)
● Wrap-up
Another Google secret?
+JavaScript
-API “flavor”
+built-in “flavor”
-OAuth2 (you)
JS
Not your daddy’s JavaScript
Not Node.js either
!=
Apps just the beginning
Apps Script powers add-ons
Other Google services
But wait, there’s more...
Google Apps services
Admin SDK
Calendar
Contacts
Docs
Drive
Forms
Gmail
Google+ Domains
Groups
Maps
Sites
Sheets
Tasks
Other Google services
AdSense
Analytics
BigQuery
Fusion Tables
goo.gl
Mirror (Glass)
Prediction
Translate
YouTube
Other services
URL Fetch
JDBC
… and more…
Teachers’ tools
Automation(i.e., mail merge)
Enterprise workflow(i.e., team OoO calendars)
Types of Apps Scripts
● Standalone scripts
○ Script.google.com
○ Google Drive > Create > Script
● Add-ons (Docs, Sheets, Forms) & document-bound scripts
○ Tools > Script editor
○ Add-ons > Get/Manage add-ons
● Simple web apps & Sites-bound gadgets
○ More > Manage Site > Apps Scripts > Add new script
Your first Apps Script project
OAuth2 flow
“Hello World”
Apps Script intro video
goo.gl/1sXeuD
JS
JS
JS
Spreadsheet with code
goo.gl/SVxoCt
Confidential & Proprietary
Reference + next steps
● Developer videos and/or blogposts
○ goo.gl/1sXeuD (Apps Script intro)
○ goo.gl/oAzBN9 (Google Maps & Gmail APIs)
○ goo.gl/nKfBQi (YouTube [Data] API)
○ goo.gl/EK5edG (Google Forms)
● Documentation
○ developers.google.com/apps-script
● Need help?
○ stackoverflow.com/questions/tagged/google-apps-script
● Community
○ plus.google.com/communities/102471985047225101769
Thank you! Questions?
+Wesley Chun
google.com/+WesleyChun
@wescpy
twitter.com/wescpy
Confidential & Proprietary
Summary
● We’ve created great technology but can’t build everything(!)
● APIs: our tech available for your apps to integrate with; free?!?
● Access using favorite dev tool via Google APIs Client Library
○ Python, JavaScript (client + Node.js), Java, C#/.NET, Go, Dart, Ruby, PHP
○ Also mobile samples in docs: Android (Java), iOS (Swift, Objective-C)
● Alternative: Google Apps Script
○ More like “built-in” services vs. traditional API usage (above)
○ Convenient access to G Suite/Apps data & other Google+external services
● Build the next great thing!
Confidential & Proprietary
Thank you! Questions?
+Wesley Chun
google.com/+WesleyChun
@wescpy
twitter.com/wescpy
slide deck
goo.gl/TGCm8q

More Related Content

What's hot

Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Anuchit Chalothorn
 
Drupal contributor HOWTO
Drupal contributor HOWTODrupal contributor HOWTO
Drupal contributor HOWTOAndriy Yun
 
Jbake workshop (Greach 2019)
Jbake workshop (Greach 2019)Jbake workshop (Greach 2019)
Jbake workshop (Greach 2019)Mario García
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How Nikhil Agrawal
 
Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2JooinK
 
Jump into React-Native (Class 2/6)
Jump into React-Native  (Class 2/6)Jump into React-Native  (Class 2/6)
Jump into React-Native (Class 2/6)Waqqas Jabbar
 
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn [INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn Nexus FrontierTech
 
Publishing your open source project
Publishing your open source projectPublishing your open source project
Publishing your open source projectRishi Pithadiya
 
Golang skills pre-session
Golang skills pre-sessionGolang skills pre-session
Golang skills pre-sessionsofianinho
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line BotEvan Lin
 
Google App Engine Developer - Day1
Google App Engine Developer - Day1Google App Engine Developer - Day1
Google App Engine Developer - Day1Simon Su
 
You tube api overview
You tube api overviewYou tube api overview
You tube api overviewfirenze-gtug
 
Chrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off MeetiChrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off MeetiStephan Linzner
 
Golang skills session1: introduction
Golang skills session1: introductionGolang skills session1: introduction
Golang skills session1: introductionsofianinho
 
2nd Athens Android Dev Meetup: Hello Android, from zero to hello
2nd Athens Android Dev Meetup: Hello Android, from zero to hello2nd Athens Android Dev Meetup: Hello Android, from zero to hello
2nd Athens Android Dev Meetup: Hello Android, from zero to helloMando Stam
 
Gwt training presentation
Gwt training presentationGwt training presentation
Gwt training presentationMUFIX Community
 
Jump into React Native (Class 3)
Jump into React Native  (Class 3)Jump into React Native  (Class 3)
Jump into React Native (Class 3)Waqqas Jabbar
 

What's hot (20)

Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020
 
Flutter Workshop 2021 @ ARU
Flutter Workshop 2021 @ ARUFlutter Workshop 2021 @ ARU
Flutter Workshop 2021 @ ARU
 
Drupal contributor HOWTO
Drupal contributor HOWTODrupal contributor HOWTO
Drupal contributor HOWTO
 
Jbake workshop (Greach 2019)
Jbake workshop (Greach 2019)Jbake workshop (Greach 2019)
Jbake workshop (Greach 2019)
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How
 
Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2Javascript as a target language - GWT kickoff - part1/2
Javascript as a target language - GWT kickoff - part1/2
 
Jump into React-Native (Class 2/6)
Jump into React-Native  (Class 2/6)Jump into React-Native  (Class 2/6)
Jump into React-Native (Class 2/6)
 
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn [INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn
 
Publishing your open source project
Publishing your open source projectPublishing your open source project
Publishing your open source project
 
Golang skills pre-session
Golang skills pre-sessionGolang skills pre-session
Golang skills pre-session
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
 
Google App Engine Developer - Day1
Google App Engine Developer - Day1Google App Engine Developer - Day1
Google App Engine Developer - Day1
 
You tube api overview
You tube api overviewYou tube api overview
You tube api overview
 
Chrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off MeetiChrome Extensions Slides Gtugna Kick Off Meeti
Chrome Extensions Slides Gtugna Kick Off Meeti
 
Golang skills session1: introduction
Golang skills session1: introductionGolang skills session1: introduction
Golang skills session1: introduction
 
Git basics
Git basicsGit basics
Git basics
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 
2nd Athens Android Dev Meetup: Hello Android, from zero to hello
2nd Athens Android Dev Meetup: Hello Android, from zero to hello2nd Athens Android Dev Meetup: Hello Android, from zero to hello
2nd Athens Android Dev Meetup: Hello Android, from zero to hello
 
Gwt training presentation
Gwt training presentationGwt training presentation
Gwt training presentation
 
Jump into React Native (Class 3)
Jump into React Native  (Class 3)Jump into React Native  (Class 3)
Jump into React Native (Class 3)
 

Similar to Exploring Google APIs with Python & JavaScript

Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptExploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptwesley chun
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloudwesley chun
 
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011traactivity
 
Google's serverless journey: past to present
Google's serverless journey: past to presentGoogle's serverless journey: past to present
Google's serverless journey: past to presentwesley 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
 
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 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
 
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
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIswesley chun
 
Using Google (Cloud) APIs
Using Google (Cloud) APIsUsing Google (Cloud) APIs
Using Google (Cloud) APIswesley chun
 
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
 
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
 
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 Cloudwesley chun
 
Introduction to Google Drive API
Introduction to Google Drive APIIntroduction to Google Drive API
Introduction to Google Drive APIJomar Tigcal
 
Google Apps Script: Accessing G Suite & other Google services with JavaScript
Google Apps Script: Accessing G Suite & other Google services with JavaScriptGoogle Apps Script: Accessing G Suite & other Google services with JavaScript
Google Apps Script: Accessing G Suite & other Google services with JavaScriptwesley chun
 
Introducing the (new) Google Docs API (2019)
Introducing the (new) Google Docs API (2019)Introducing the (new) Google Docs API (2019)
Introducing the (new) Google Docs API (2019)wesley chun
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Pythonwesley chun
 
Google... more than just a cloud
Google... more than just a cloudGoogle... more than just a cloud
Google... more than just a cloudwesley chun
 

Similar to Exploring Google APIs with Python & JavaScript (20)

Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptExploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScript
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
 
Google's serverless journey: past to present
Google's serverless journey: past to presentGoogle's serverless journey: past to present
Google's serverless journey: past to present
 
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
 
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 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
 
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
 
Accessing Google Cloud APIs
Accessing Google Cloud APIsAccessing Google Cloud APIs
Accessing Google Cloud APIs
 
Using Google (Cloud) APIs
Using Google (Cloud) APIsUsing Google (Cloud) APIs
Using Google (Cloud) APIs
 
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
 
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
 
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 Home and Google Assistant Workshop: Build your own serverless Action o...
Google Home and Google Assistant Workshop: Build your own serverless Action o...Google Home and Google Assistant Workshop: Build your own serverless Action o...
Google Home and Google Assistant Workshop: Build your own serverless Action o...
 
Introduction to Google Drive API
Introduction to Google Drive APIIntroduction to Google Drive API
Introduction to Google Drive API
 
Google Apps Script: Accessing G Suite & other Google services with JavaScript
Google Apps Script: Accessing G Suite & other Google services with JavaScriptGoogle Apps Script: Accessing G Suite & other Google services with JavaScript
Google Apps Script: Accessing G Suite & other Google services with JavaScript
 
Google Developers Overview Deck 2015
Google Developers Overview Deck 2015Google Developers Overview Deck 2015
Google Developers Overview Deck 2015
 
Introducing the (new) Google Docs API (2019)
Introducing the (new) Google Docs API (2019)Introducing the (new) Google Docs API (2019)
Introducing the (new) Google Docs API (2019)
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
Google... more than just a cloud
Google... more than just a cloudGoogle... more than just a cloud
Google... more than just a cloud
 

More from wesley chun

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Easy path to machine learning (2023-2024)
Easy path to machine learning (2023-2024)Easy path to machine learning (2023-2024)
Easy path to machine learning (2023-2024)wesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 B)
Powerful Google developer tools for immediate impact! (2023-24 B)Powerful Google developer tools for immediate impact! (2023-24 B)
Powerful Google developer tools for immediate impact! (2023-24 B)wesley chun
 
Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)wesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)wesley chun
 
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
 
Serverless Computing with Python
Serverless Computing with PythonServerless Computing with Python
Serverless Computing with Pythonwesley chun
 
Easy path to machine learning (2022)
Easy path to machine learning (2022)Easy path to machine learning (2022)
Easy path to machine learning (2022)wesley chun
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloudwesley chun
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloudwesley chun
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Runwesley chun
 
Easy path to machine learning (Spring 2021)
Easy path to machine learning (Spring 2021)Easy path to machine learning (Spring 2021)
Easy path to machine learning (Spring 2021)wesley chun
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Pythonwesley chun
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloudwesley chun
 
Run your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudRun your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudwesley chun
 
Serverless Computing with Python
Serverless Computing with PythonServerless Computing with Python
Serverless Computing with Pythonwesley chun
 
Introduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google CloudIntroduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google Cloudwesley chun
 
Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)wesley chun
 
Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptExploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptwesley chun
 

More from wesley chun (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Easy path to machine learning (2023-2024)
Easy path to machine learning (2023-2024)Easy path to machine learning (2023-2024)
Easy path to machine learning (2023-2024)
 
Powerful Google developer tools for immediate impact! (2023-24 B)
Powerful Google developer tools for immediate impact! (2023-24 B)Powerful Google developer tools for immediate impact! (2023-24 B)
Powerful Google developer tools for immediate impact! (2023-24 B)
 
Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
 
Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)Powerful Google developer tools for immediate impact! (2023-24 A)
Powerful Google developer tools for immediate impact! (2023-24 A)
 
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...
 
Serverless Computing with Python
Serverless Computing with PythonServerless Computing with Python
Serverless Computing with Python
 
Easy path to machine learning (2022)
Easy path to machine learning (2022)Easy path to machine learning (2022)
Easy path to machine learning (2022)
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
 
Easy path to machine learning (Spring 2021)
Easy path to machine learning (Spring 2021)Easy path to machine learning (Spring 2021)
Easy path to machine learning (Spring 2021)
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
Serverless Computing with Google Cloud
Serverless Computing with Google CloudServerless Computing with Google Cloud
Serverless Computing with Google Cloud
 
Run your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloudRun your code serverlessly on Google's open cloud
Run your code serverlessly on Google's open cloud
 
Serverless Computing with Python
Serverless Computing with PythonServerless Computing with Python
Serverless Computing with Python
 
Introduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google CloudIntroduction to Cloud Computing with Google Cloud
Introduction to Cloud Computing with Google Cloud
 
Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)
 
Exploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScriptExploring Google (Cloud) APIs with Python & JavaScript
Exploring Google (Cloud) APIs with Python & JavaScript
 

Recently uploaded

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Recently uploaded (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Exploring Google APIs with Python & JavaScript

  • 1. Confidential & ProprietaryConfidential & Proprietary Exploring Google APIs with Python & JavaScript +Wesley Chun, @wescpy Developer Advocate Silicon Valley CodeCamp Oct 2015: San José, CA GDG New York City Nov 2016: New York, NY Contribute questions at: goo.gl/Rq6ABI I teach
  • 3. Confidential & Proprietary Outline ● PART I: Overview of using Google APIs ○ Google Developers Console ○ Google APIs Client Library ○ Simple API key access to Google APIs ○ Authorized (OAuth2) access to Google APIs ○ Python code demos ■ Overview of boilerplate Python code (simple & authorized) ■ Demonstrate accessing 1-2 Google APIs ● PART II: Overview of Google Apps Script ○ Operating environment ○ Supported services ○ JavaScript code demos ■ Demonstrate accessing 1-2 Google APIs ● Summary (Materials derived from Launchpad Online video series [goo.gl/kFMUa6] content) Confidential & Proprietary Google APIs (Part I) & Google Apps Script (Part II)
  • 4. PyCon May 2016: Portland, OR BayPIGgies Aug 2016: Mountain View, CA Exploring Google APIs with Python +Wesley Chun, @wescpy Developer Advocate Can't wait? pip{,3} install -U google-api-python-client AND console.developers.google.com SF Python project night Oct 2016: San Francisco, CA GDG NYC Nov 2016: New York, NY Contribute questions at: goo.gl/Rq6ABI Outline ● Overview ● Getting started ● Python ● Live demo(?) ● Wrap-up
  • 5. Part I: Google APIs overview
  • 7.
  • 8. Part II: Getting Started with Google APIs Developers Console (devconsole)
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. OAuth2 scenarios ● Varies on application type (where apps located) ○ Web (server) applications ○ Installed (mobile & desktop computers) apps ○ Service accounts (cloud/server-to-server) ○ Client-side (JavaScript) apps ○ Limited-input devices (game consoles, printers, cameras, etc.) ○ developers.google.com/identity/protocols/OAuth2 ○ TODAY: command-line script == "Installed"
  • 14.
  • 15.
  • 16. Part III: Using Google APIs with Python developers.google.com/discovery/libraries Open source client libraries for many languages, not just
  • 18. General OAuth2 process ● Goal: valid access token == 3rd-party API data access ● How OAuth2 works (in general) ○ Step 1: Create OAuth2 credentials in DevConsole ○ Step 2: Send credentials to get access & refresh tokens ○ Step 3: Use access token to make authorized API calls ○ Step 4: Access tokens expire; use refresh to get new one ● developers.google.com/identity/protocols/OAuth2 ● Others will be similar (with slight differences) Authorized API access
  • 19. SIMPLE AUTHORIZED Which do you choose? Part IV: Demo (live would make it interesting)
  • 20. Searching Google+ for social posts Searching YouTube for videos
  • 21. Listing your files in Google Drive Use of multiple APIs supported Simple, authorized, or a mix of both types of APIs; re-uses HTTP client; also see goo.gl/cdm3kZ
  • 22. Write your own or see github.com/googledrive/zipextractor (JS) Build a Node.js customized reporting tool with our Sheets API codelab at g.co/codelabs/sheets (JS)
  • 23. Check out our Node.js Markdown-to-Google Slides sample app demoing the Slides API github.com/googlesamples/md2googleslides (JS)
  • 25. Reference ● Google Developers Console ○ console.developers.google.com ● Google APIs Client Library for Python (2 & 3) ○ pip{,3} install -U google-api-python-client ○ developers.google.com/api-client-library/python ■ .../python/guide/{django,google_app_engine} # special ● Other languages ○ developers.google.com/discovery/libraries Reference ● Blog + video Resources ○ SETUP & BOILERPLATE ■ goo.gl/RbyTFD (new Google APIs project setup) ■ goo.gl/KMfbeK (common Python boilerplate code review) ○ GOOGLE APIs ■ goo.gl/ZIgf8k and goo.gl/EySSQV (Google Drive API) ■ goo.gl/pFYUQ2 (Gmail API) ■ goo.gl/KuYMiq (Google Calendar API) ■ goo.gl/N1RPwC and goo.gl/U6Oljn (Google Sheets API) ■ goo.gl/o6EFwk (Google Slides API)
  • 26. Alternative 1 ● Google Apps Script ○ What is it? ■ Executes as JavaScript in Google's cloud ■ Think “built-in” services vs. traditional API usage ■ Convenient access to G Suite/Google Apps data ■ Can also access other Google+external services ■ developers.google.com/apps-script ○ Video resources ■ goo.gl/1sXeuD (Apps Script intro) ■ goo.gl/oAzBN9 (Google Maps & Gmail APIs) ■ goo.gl/YuwZ0E (YouTube [Data] API) ■ goo.gl/xSzGl4 (Google Forms) Alternative 2 ● What about my favorite HTTP request library? ○ requests ■ python-requests.org ○ So can I use 'requests' to talk to Google APIs? ○ Answer: YES, but... ■ Not many examples out there ■ I found one at gist.github.com/ymotongpoo/1907281 ■ BUT look at it, ~80% of code is auth{entic,oriz}ation ■ Client Library hides most of it from you ■ Summary: yes you can, but it'll be a DIY effort
  • 27. Alternatives for other Google APIs ● Most, not all, Google APIs work with standard Client Library ● Other APIs/platforms have their own ○ Google AdWords ■ developers.google.com/adwords/api/docs/clientlibraries ○ Google Maps (Web Services) ■ developers.google.com/maps/web-services/client-library ○ Google Cloud Platform ■ cloud.google.com/python/apis ○ Firebase platform (Android, iOS, Web, C++, Node.js, Java) ■ firebase.google.com/docs/libraries Thank you! Questions? +Wesley Chun google.com/+WesleyChun @wescpy twitter.com/wescpy
  • 28. Google Apps Script Accessing G Suite & other Google services with JavaScript +Wesley Chun, @wescpy Developer Advocate Silicon Valley CodeCamp Oct 2015: San José, CA GDG New York City Nov 2016: New York, NY Contribute questions at: goo.gl/Rq6ABI Outline ● Background ● What Apps Script is/is NOT ● Supported services ● Use cases ● Example API usage ● Live demo(?) ● Wrap-up
  • 29. Another Google secret? +JavaScript -API “flavor” +built-in “flavor” -OAuth2 (you)
  • 30. JS Not your daddy’s JavaScript
  • 32. Apps just the beginning Apps Script powers add-ons
  • 33. Other Google services But wait, there’s more... Google Apps services Admin SDK Calendar Contacts Docs Drive Forms Gmail Google+ Domains Groups Maps Sites Sheets Tasks Other Google services AdSense Analytics BigQuery Fusion Tables goo.gl Mirror (Glass) Prediction Translate YouTube Other services URL Fetch JDBC … and more…
  • 35. Enterprise workflow(i.e., team OoO calendars) Types of Apps Scripts ● Standalone scripts ○ Script.google.com ○ Google Drive > Create > Script ● Add-ons (Docs, Sheets, Forms) & document-bound scripts ○ Tools > Script editor ○ Add-ons > Get/Manage add-ons ● Simple web apps & Sites-bound gadgets ○ More > Manage Site > Apps Scripts > Add new script
  • 36. Your first Apps Script project
  • 37. OAuth2 flow “Hello World” Apps Script intro video goo.gl/1sXeuD
  • 38. JS
  • 39. JS
  • 41. Confidential & Proprietary Reference + next steps ● Developer videos and/or blogposts ○ goo.gl/1sXeuD (Apps Script intro) ○ goo.gl/oAzBN9 (Google Maps & Gmail APIs) ○ goo.gl/nKfBQi (YouTube [Data] API) ○ goo.gl/EK5edG (Google Forms) ● Documentation ○ developers.google.com/apps-script ● Need help? ○ stackoverflow.com/questions/tagged/google-apps-script ● Community ○ plus.google.com/communities/102471985047225101769 Thank you! Questions? +Wesley Chun google.com/+WesleyChun @wescpy twitter.com/wescpy
  • 42. Confidential & Proprietary Summary ● We’ve created great technology but can’t build everything(!) ● APIs: our tech available for your apps to integrate with; free?!? ● Access using favorite dev tool via Google APIs Client Library ○ Python, JavaScript (client + Node.js), Java, C#/.NET, Go, Dart, Ruby, PHP ○ Also mobile samples in docs: Android (Java), iOS (Swift, Objective-C) ● Alternative: Google Apps Script ○ More like “built-in” services vs. traditional API usage (above) ○ Convenient access to G Suite/Apps data & other Google+external services ● Build the next great thing! Confidential & Proprietary Thank you! Questions? +Wesley Chun google.com/+WesleyChun @wescpy twitter.com/wescpy slide deck goo.gl/TGCm8q