O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Using Google (Cloud) APIs

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Using Google (Cloud) APIs
(meaning GCP & G Suite APIs)
Wesley Chun
Developer Advocate, Google
Adjunct CS Faculty, Foothill...
Agenda and Why
● Not enough cloud computing in engineering curriculum
● Need to prep next-generation cloud-ready workforce...
Google Compute Engine, Google Cloud Storage
AWS EC2 & S3; Rackspace; Joyent
SaaS
Software as a Service
PaaS
Platform as a ...
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Build with ALL of Google Cloud
Build with ALL of Google Cloud
Carregando em…3
×

Confira estes a seguir

1 de 17 Anúncio

Using Google (Cloud) APIs

Baixar para ler offline

This is a 15-20 minute tech talk designed for those who wish to use Google APIs, but don't know how to get started quickly. This session introduces developers to two distinct ways of accessing our APIs, the standard HTTP-based REST APIs or Google Apps Script, a customized JS environment which provides Google API access via objects. It concludes with some inspirational app ideas of what you can build using Google Cloud APIs (covering both GCP & G Suite).

This is a 15-20 minute tech talk designed for those who wish to use Google APIs, but don't know how to get started quickly. This session introduces developers to two distinct ways of accessing our APIs, the standard HTTP-based REST APIs or Google Apps Script, a customized JS environment which provides Google API access via objects. It concludes with some inspirational app ideas of what you can build using Google Cloud APIs (covering both GCP & G Suite).

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Using Google (Cloud) APIs (20)

Anúncio

Mais recentes (20)

Anúncio

Using Google (Cloud) APIs

  1. 1. Using Google (Cloud) APIs (meaning GCP & G Suite APIs) Wesley Chun Developer Advocate, Google Adjunct CS Faculty, Foothill College G Suite Dev Show goo.gl/JpBQ40 About the speaker ● Developer Advocate, Google Cloud ● Mission: enable current and future developers to be successful using Google Cloud and other Google developer tools, APIs, and platforms ● Videos: host of the G Suite Dev Show on YouTube ● Blogs: developers.googleblog.com & gsuite-developers.googleblog.com ● Twitters: @wescpy, @GCPcloud, @GoogleDevs, @GSuiteDevs ● Background ● Software engineer & architect for 20+ years ● One of the original Yahoo!Mail engineers ● Author of bestselling "Core Python" books (corepython.com) ● Teacher and technical instructor since 1983 (all ages) ● Fellow of the Python Software Foundation ● AB Mathematics & CMP Music, UC Berkeley; MSCS UC Santa Barbara
  2. 2. Agenda and Why ● Not enough cloud computing in engineering curriculum ● Need to prep next-generation cloud-ready workforce ● Using APIs should be a nativeskill of new grads ● Introduction to Google Cloud (APIs) ● Using Google (Cloud) REST APIs ● Using Google Apps Script ● Inspirational app ideas (both GCP & G Suite APIs) 1 Introduction to Google Cloud (APIs) GCP and G Suite
  3. 3. Google Compute Engine, Google Cloud Storage AWS EC2 & S3; Rackspace; Joyent SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service Google Apps Script, App Maker Salesforce1/force.com G Suite (Google Apps) Yahoo!Mail, Hotmail, Salesforce, Netsuite Google App Engine, Cloud Functions Heroku, Cloud Foundry, Engine Yard, AWS Lambda Google BigQuery, Cloud SQL, Cloud Datastore, NL, Vision, Pub/Sub AWS Kinesis, RDS; Windows Azure SQL Database Google Cloud Platform vs. G Suite G Suite APIs GCP APIs
  4. 4. How to access Google APIs ● Two ways primarily ○ HTTP-based REST APIs (lower-level) ■ Need either simple API keys or OAuth2 client IDs ■ Any client library supported language ● Python, Java, JS, PHP, Go, Ruby, C#, Dart, etc. ○ Google Apps Script (higher-level) ■ Use APIs as objects in customized JS environment ● No need to code OAuth nor HTTP ■ Access 40+ Google APIs/services 2 Using Google (Cloud) HTTP-based REST APIs Short Python code snippets using GCP & G Suite APIs API key (public data) vs. OAuth2 access (private data)
  5. 5. The first word on Security Authentication ("authn") vs authorization ("authz") ● authn: you are who you say you are ○ login & passwd ○ handprint authentication ○ retina scan ● authz: okay, you are who you say you are, but can you haz data? ○ OAuth2 - mostly authz, but some authn ○ Mostly about 3rd-party access to data ○ Users must give YOUR app access to THEIR data ○ Most of the time when you see "auth", it refers to authz Developers Console (devconsole)
  6. 6. ● Manage your projects ● Obtain application credentials ● En-/disable Google APIs Google APIs client libraries for many languages; demos in developers.google.com/ api-client-library
  7. 7. List (first 100) files/folders in Google Drive from __future__ import print_function from apiclient import discovery from httplib2 import Http from oauth2client import file, client, tools SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata' store = file.Storage('storage.json') creds = store.get() if not creds or creds.invalid: flow = client.flow_from_clientsecrets('client_secret.json', SCOPES) creds = tools.run_flow(flow, store) DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http())) files = DRIVE.files().list().execute().get('files', []) for f in files: print(f['name'], f['mimeType']) Listing your files goo.gl/ZIgf8k Automate photo albums OR
  8. 8. Migrate SQL data to a Sheet # read SQL data then create new spreadsheet & add rows into it FIELDS = ('ID', 'Customer Name', 'Product Code', 'Units Ordered', 'Unit Price', 'Status') cxn = sqlite3.connect('db.sqlite') cur = cxn.cursor() rows = cur.execute('SELECT * FROM orders').fetchall() cxn.close() rows.insert(0, FIELDS) DATA = {'properties': {'title': 'Customer orders'}} SHEET_ID = SHEETS.spreadsheets().create(body=DATA, fields='spreadsheetId').execute().get('spreadsheetId') SHEETS.spreadsheets().values().update(spreadsheetId=SHEET_ID, range='A1', body={'values': rows}, valueInputOption='RAW').execute() Migrate SQL data to Sheets goo.gl/N1RPwC BigQuery: querying Shakespeare words TITLE = "The top 10 most common words in all of Shakespeare's works" QUERY = ''' SELECT LOWER(word) AS word, sum(word_count) AS count FROM [bigquery-public-data:samples.shakespeare] GROUP BY word ORDER BY count DESC LIMIT 10 ''' rsp = BQ.query(body={'query': QUERY}, projectId=PROJ_ID).execute() print('n*** Results for %r:n' % TITLE) for col in rsp['schema']['fields']: # HEADERS print(col['name'].upper(), end='t') print() for row in rsp['rows']: # DATA for col in row['f']: print(col['v'], end='t') print()
  9. 9. Top 10 most common Shakespeare words $ python3 bq_shake.py *** Results for "The most common words in all of Shakespeare's works": WORD COUNT the 29801 and 27529 i 21029 to 20957 of 18514 a 15370 you 14010 my 12936 in 11722 that 11519 3 Using Google Apps Script Customized JS runtime for G Suite automation, extension, and integration (Also Google App Maker for non-developers)
  10. 10. Sheets-bound “Hello World!” Apps Script intro goo.gl/1sXeuD Sheets-bound “Hello World!”
  11. 11. What can you do with this? Accessing maps from spreadsheets?!? goo.gl/oAzBN9 This… with help from Google Maps & Gmail function sendMap() { var sheet = SpreadsheetApp.getActiveSheet(); var address = sheet.getRange("A2").getValue(); var map = Maps.newStaticMap().addMarker(address); MailApp.sendEmail(EMAIL, "Map", map.getMapUrl()); } JS
  12. 12. ● Low-code assistive development environment ● Go from idea to app in minutes ● Drag-n-drop app building ● Generates Apps Script code Google App Maker developers.google.com/appmaker
  13. 13. Inspirational app ideas Using both GCP and G Suite APIs4
  14. 14. Custom intelligence in Gmail Analyze G Suite data with GCP Gmail Cloud Pub/Sub Cloud Functions Cloud Vision G Suite GCP Star message Message notification Trigger function Extract images Categorize images Inbox augmented with Cloud Function
  15. 15. Big data analysis to slide deck Access GCP tools from G Suite Supercharge G Suite with GCP G Suite GCP BigQuery Apps Script Slides Sheets Application request Big data analytics
  16. 16. 5 Summary & resourcces What's next? References ● Official documentation ○ cloud.google.com ○ developers.google.com/gsuite ○ developers.google.com/apps-script ● Codelabs (self-paced, hands-on tutorials) ○ g.co/codelabs/gsuite-apis-intro ○ g.co/codelabs/apps-script-intro ○ g.co/codelabs/cloud ○ google.qwiklabs.com (not free but can get credits) ● Inspirational demo apps' resources ○ cloud.withgoogle.com/next18/sf/sessions/session/156878 ○ cloud.google.com/blog/products/application-development/ adding-custom-intelligence-to-gmail-with-serverless-on-gcp ● YouTube video series: ○ Google Cloud Platform: youtube.com/GoogleCloud ○ Recommended: Cloud Minute shorts & Cloud NEXT videos ○ G Suite Dev Show: goo.gl/JpBQ40
  17. 17. Resources for Higher Education ● Education grant program ○ Teaching grants (per-course basis) ■ $50USD for students ■ $100USD for faculty & TAs ■ You'll barely use any of it… key: no need to give Google a credit card ○ Research grants ■ Larger amounts, granted for longer period of time ○ Turnaround time: 3-4 business days ● Teacher center ○ teachercenter.withgoogle.com/gcp ○ Apply here for education grants ○ Apply here for Qwiklabs credits Thank you! Questions? Wesley Chun @wescpy

×