How to use Google Spreadsheet as Admin Interface for your Firebase project

  1. googleapis library is used to authenticate and write to the spreadsheet.
  2. Http onRequest trigger is to enable writing from Spreadsheet to cloud functions. Learn ways to call cloud functions here.
  3. Cloud functions Firestore onWrite :=> onCreate, onUpdate & onDelete trigger is to prompt when to write to the Spreadsheet.
  4. Google apps script onEdit/onChange simple trigger is to prompt when to write to cloud functions. See other triggers you might need.
  1. Create the spreadsheet and copy the id.
  2. Create a cloud functions trigger that prompt writing to the spreadsheet
  3. Create an HTTP onRequest trigger to call the cloud functions from Google apps script
  4. Use Google apps script simple triggers.
BEFORE WE BEGIN:
----------------
1. I assume you have a firebase project and you know how to set up cloud functions, if not read here and here
2. If not already done, enable the Google Sheets API and check the quota for your project at https://console.developers.google.com/apis/api/sheets. You may need to enable billing
3. Install the Node.js client library by running `npm install googleapis --save` in your cloud functions code
4. Read this to get an idea on how to achieve (2) and how to utilize some of the sheets APIs exposed by (3)

Note: If you plan to run this from another environment other than cloud functions, ensure to read about using OAuth 2.0 to access Google APIs here
Photo credit to Alexis’s post
firebase function:config:set googleapis.sheets.id=your_sheets_id
  1. Customer bids for products in an e-commerce catalog
  2. User documents or credentials uploaded for approval
  3. User account or content flagging requests
  4. User role change requests etc.
writeToSheetTrigger.ts
appendEntry.ts
You can send slack or email notifications from cloud functions. See examples here
createEntry.ts
updateCustomerEntry.ts
On deploying the newly written functions, a URL is generated for the HTTP onRequest trigger, which would be used by Google apps script to write back the backend
updateCustomerEntry.gs

--

--

--

JavaScript and Laravel Enthusiast. Everything Firebase. I love to help Devs. Twitter: @ChukwumaNwaugha

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Linux routers (FRR, Quagga….) vs traditional routers. Which one will you choose?

Docker Basics

How To Get Started With Low-Code and No-Code Platforms

Logstash — Multiple Kafka Config In A Single File

How to Work with Solr Plugins System — Sematext

Salt DevKit with External Formulas

Hash Log — DxSale July Update

Priyanka Somrah

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Chukwuma Nwaugha

Chukwuma Nwaugha

JavaScript and Laravel Enthusiast. Everything Firebase. I love to help Devs. Twitter: @ChukwumaNwaugha

More from Medium

Prominent Back-end frameworks to consider in 2022!

Setup Segment and Amplitude in Vue 3 (or React, Angular…)

Playcanvas x Firebase

Application Frameworks Blog(Week5,6)