Goal:
I have a public application that searches a database and returns results. As part of this search process, I would like for these search terms to be cached in a Google Sheet (so that I can track basic things about utilization).
Issue.
My application works when I am browsing in non-incognito, but when I test the public application when incognito mode, the text input ("Search Terms") are not appended to the Google Sheet. Is this an authentication issue?
Steps
- Created Google Sheet in Drive
- Authenticated Google Sheet (OAuth) by adding it as a resource in Retool
- Created a query that successfully pushed the Search Term to a database
- Ran search in production and successfully created the query (note: I am on chrome and logged into my chrome account, which I use to authenticate/login to Retool platforms).
- RESOLVED ISSUE: Repeat Step 4, but incognito and input is not pushed to database
I believe this is an authentication issue, so I looked to cache the data by authenticating via a "Service Account".
- In Google Cloud Admin, created a new service account and downloaded Private Key
- In Google Cloud Admin, assigned the Service Account an "Editor" Role related to my retool project
- In Retool, updated the Resource (which connected to Google Sheets via oAuth) to connect via a "Service Account".
- In Retool, inserted the Service Account's Private Key
- CURRENT ISSUE: Response from Retool Application when executing Query: "Caller does not have permission"
Questions
- Are there any resources available on retools website for Google Service Account Configuration and permissions that a newbie can understand?