Hi, I have created a sign-in using Firebase. This sign-in is linked to my Google Sheet (AvLogUserEmail) and is contained in my Google Drive as a non-share Sheet. This GSheet has only 3 columns:
username; email; and a 3rd column named “amrl” (see below).
The first two columns mirror the user’s information from when the user signed in. The 3rd column (amrl) is to contain a specific url tab address from the GSheet “AvLogUserEmail”.
There will be an individual url tab address assigned to each individual user in the GSheet by myself which will be entered into the “amrl” column in the GSheet.
The purpose of me doing this is so that when the user has signed into my app, if they were to go to the “AMRL” screen (AMRLScreen) in my app they will only be able to see the Source GSheet tab that has been assigned to them from the Source “AvLogUserEmail” GSheet.
This allocated GSheet tab will be displayed to the User in an editable format. The user will not be able to see or access any other tab in the Source AMRL GSheet.
The link between the user’s Source “AvLogUserEmail” GSheet sign-in details and the Source AMRL GSheet tab will be based on the User’s email address.
The next part of this project is: Using as much of the user’s device screen as possible, how do I display a full Google Sheet in a user-controlled “pinch/zoom” format on the user’s phone/device screen?
I think if a user has a private sheet, for starters i would save this URL in firebase as the main Google sheet will need to be public to be accessible on published apps.
I don’t believe that tabs can be private from other tabs. Having access to the worksheet gives you access to the worksheet, though I could be wrong here.
I think your best bet here is to store the users tab name on firebase in a private firebase bucket and keep your main sheet with all the tabs private. You can do all communication with the sheet via google app scripts to retrieve/modify/save any data. this is a step in the right direction i think. If you use unique id’s for all the tabs, you should be pretty solid but the app script still needs to be set to be able to be invoked by any user and ran as you unless you can also pass along google credentials but that’s a whole other mess.
I’m sorry I got a little muddled up there. I was trying to say that the GSheet itself is made private by default. The individual tabs can only be edited by the member who owns the specific tab to which he has been granted permissions.
Does that mean I can manually add a new column to the Firebase then?
I also meant to say that each user has an individual tab assigned to them by me. The AMRL Sheet has been set to “Private” Each member has one tab for their own AMRL information allocated to them. This is something that I have been doing privately for a number of years. They have been accessing the AMRL GSheet via a share link that I had sent to each individual member personally. There are permission restrictions in place on each tab which only allow a member to access/edit/update his or her own tab.
I wish to add this accessibility to my app by using the user’s email address so that the user will still have their permissions for access to their respective individual tabs.
Each Google tab has a “long” url. address assigned to it automatically by Google. I wish to use this url to associate the user’s tab to their respective email addresses.
Each tab also has a multitude of formulas which link it information from various other GSheets with which information is given to and taken from.