We're interested in finding a process to edit rows in a Google Sheet using REST/CRUD after logging into a Google account within a brower. Initial work toward this object resides below.
Javascript browser-frontend work resides in Google-OneTap.
This repo requires having the localsite repo in an adjacent folder in the same site root. See getting started.
Go to console.developers.google.com. Under "Domain Verification" enter domains (works on localhost before doing this). Verify ownership by copying html file into site root. (Used maps.g account)
Each domain also needs to be registered under Google SearchConsole.
JAM Stack website form to update a Google Sheet using Google Cloud Function Web Service that appends any data sent to it to a Google sheet using a NodeJS script. Also sends an email notification.
How to host a Python websocket on Google Cloud
Google Cloud websockets for authentication
Includes link to activating https on one’s local computer using OpenSLL
Using Flask may not be necessary is using the Google Cloud Function NodeJS example (Also linked above.)
These Flask Google Login set-up steps may be similar.
Here are steps for deploying Flask to Google Cloud with Docker into a Kubernetes Cluster
You'll be adding private keys, then running a local Python Flask server.
Clone from github.com/modelearth/editor
Create a Google Project or use existing project IDs
-
Open a terminal in the local "editor" folder.
-
Install Python 3.7 if you don't have it currently.
python3 -V
- Within your editor root directory run commands:
chmod +x setup.sh
./setup.sh
- Run/Server python app.
cd app
python3 app.py
- Go to https://127.0.0.1:5000/ to view the app.
In Safari you will see "Your connection is not private".
Click the "Advanced" button to view insecurely locally.
If successful, you will see a 'Google Login' and you'll be able to login to your Google account to see "Hi [firstname]! Logout"
This does not work in Chrome or Brave (tested on a Mac).
Even after installing locally, you will see a browser warning indicating that the certificate should not be trusted. You can proceed past this warning to view the encrypted site.
Generate a self-signed ssl with openssl - We need to document this procedure or link to an external page with steps.
Skip this step for now and use the "Advanced" button to view locally.
("Advanced" button only works on Safari. Not working on Chrome or Brave on Mac.)
Viewing at: https://127.0.0.1:5000
The following did not work yet. (This was not needed for Safari.):
Generate Self-Signed SSL Certificate
After generating, tried adding to the "System" keychain, but error continues: NET::ERR_CERT_INVALID
TO DO: Create a CRUD/REST form based on [Real World](https://neighborhood.org/realworld) and set-up a [Real World Starter Kit](https://github.com/gothinkster/realworld-starter-kit) that also works with [Google Cloud Functions](https://medium.com/@abuango/how-to-collect-form-data-from-a-jamstack-website-to-google-sheets-using-google-cloud-functions-a59546c803a5)Proposed Frontend: Either existing "Vanilla JS Web Components" (initial onetap tests) or use JQuery.
Proposed Backend for Trust Levels: Either a Google API Flask connector, DJango with Discourse](https://github.com/discourse/discourse), or another Trust Level storehouse, like Google Firebase.