Can I use a Google Drive spreadsheet as if it were (similar to) a MySQL database?
I know that Google Apps Script allows a user to access their own spreadsheet and read/write to it, but is there a way that I could allow other users to “save their score” to MY spreadsheet WITHOUT giving them permission to view/edit the spreadsheet directly?
Also, i’m assuming PHP/Python/some other server-side language would have to be used in order to hide my account info which I also assume would be needed to open and close the connection with my spreadsheet.
Anyways, I’m just wondering if this is feasible.. literally turning a Google Drive spreadsheet into a database that players can update their score to but not have direct access to it.
This may be a stupid idea, so your opinions are welcome!
Thanks in advance!
Answers saying you need an extra server or oauth are incorrect.
Just publish an appscript (anonymous public) service using your permissions. For all operations always pass the username and password thus you validate users on every call. Call the service from client js using ajax.
Store it in scriptdb [update: scriptDb is deprecated now]. If you use spreadsheet for storage it will get slow with many rows.
In any case it will be slow if you use appscript.
This is the right way to do it.
Another post explaining the same idea.
Essentially, we publish the spreadsheet and query it using a “select”-like syntax. For instance:
this query which reads something like:
This is for querying data (reading). For inserting, you can use google forms (create a form, see its html and submit using a http post request). I have not explored update yet.
And yes, this has to be done server side.
Without a server-side service that implements another authentication layer for client libraries and use Google auth to talk to Drive, this is not possible.