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 and Google Apps Script

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 and Google Apps Script (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

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Exploring Google APIs with Python & JavaScript and Google Apps Script

  • 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