I am building an app for my clients to log in to so they can see their list of contacts. I have 40 clients which means I am importing 1 Google Sheet per client. Is it possible to render the correct Google Sheet based on who is logged in? If so, how do I do this?
yes is possible, but why do you have separate sheets for each client?
This is a terrible idea… it will make your life so difficult
Always structure your data, to have one sheet for all, that will make calculations and filters much easier… just add more columns.
The reason I chose 1 spreadsheet per client was because of google sheets API limitations. There are 300 read requests and 300 write requests allocated for every 60 seconds. I’m afraid if there are 150 potential users using the app, I could run into those limitations. Should I not be concerned about this?
So you mean spreadsheets, not sheets??? Google’s quotas are per spreadsheet, in that case you can’t… why so many API calls?
That’s nothing you have to worry about. Only Glide is communicating with the google sheet through the API. One to one between glide and google. And even then, that synchronization happens much much less than 300 times. Glide keep a copy of your google sheet data and performs synchronizations between glides copy and google’s copy. As far as the app is concerned, it has no knowledge of the google sheet as the app is only communicating with glide and synchronizing data between the app and glide servers. The glide server is the middle man between your google sheet and the end user app.
As suggested, a separate sheet per user will be a nightmare to maintain, since you will have to design screens for every single user sheet instead of only one sheet. Merge all of the data together in one sheet. Make sure you have a column to hold the user’s email, and then apply row owners to that email column. That way a user will only have access to their own contacts, even though data from all users are in the same table.
Glide apps can handle hundreds of thousands of users at the same time. I’ve never heard of API limits being exceeded, because glide is not executing the API that frequently.