You can do it directly using just 'google-spreadsheet' npm package. I built this[1] mini-HR portal using that. 95+ lighthouse score :)
[1]: https://www.wildcardjobs.com
This is pretty cool. Quite similar to the solution I have posted. The actual benefit comes when you use it for other APIs, because the app allows you to setup access control rules over individual endpoints, so that you can expose endpoints to frontends and no-code apps without worrying about security.
Creator of Apico here. This is a tiny example of how to use SaaS apps as backend for your small projects. As folks outlined in other comments I will clarify a few things.
> How is this different from using the SDKs, or APIs directly from Google?
Honestly it's very similar, the APIs offered by this app and Google are very similar. The only difference is that you get the APIs literally within a single click and added benefit of fine-grained access control over individual endpoints. You can make endpoints public (access to anyone) vs private (only be accessed with an auth token)
> Why don't just use Google APIs then?
Most of the APIs are server side considering security, you cannot expose these credentials to the client side, unless you only allow specific scopes that can be exposed. And then create a different set of credentials to be used on your server side to handle other actions. With this app, it acts as a proxy and firewall on top of the Google APIs, so you can expose specific endpoints to be public and rest to be private.
Adding to that you need to spend more time looking through docs and setting up Postman or similar tool to test the APIs, the app literally gives everything you need, APIs, Playground and a proxy for you to play around.
> Rate limits?
Right now, I haven't looked into this, but hopefully soon :)
How does this solution compare to creating a google project for yourself? It seems if you are already developing a react app, setting up a project in google is straightforward. The direct method also enables sharing of sheets via email. Example implementation: https://thenewstack.io/how-to-use-google-sheets-as-a-databas...
This is exactly similar to using google APIs as well, just that you are exposing the credentials client side unless you are planning to put the logic on server. With this service you can only allow read APIs and block write APIs, similar to scopes. But you get the APIs within just a few clicks with an API playground and proxy with additional security.