Need Help Arranging Google Sheets Data From A Web API Into Local Table

Hi all,

Edit: I am now looking for help with arranging data from a Google Sheets via a WebAPI. I’ve managed to bring the data in but not sure on the next steps to arrange and make sense of it.

Original: I’m currently trying to create an app where users can list up trading card items and trade them. I initially set up this process using Google Sheets, which works fine, but I am coming to the conclusion this is quite a limiting app for it.

I want users to be able to submit details about their items, which then goes into a big market for other users to browse (which is currently being done by Google Sheets and then display as a Data Viewer Grid).

I want to create a search filter for this so users can find a specific card/item in amongst a list. This seems doable on Google Sheets but require creating new Sheets to generate a new list, which doesn’t work on a large scale and will cause issues for multiple users who will look for different things.

It seems Firebase might make the filtering system easier, but I have no idea how to do it and very little knowledge on how it works - I cant figure out how to get it to take new data, how to get it to retrieve existing data and then display data on the app.

I am also wanting to create a user specific tab that displays a list of all the user’s previous listings so they can quickly and easily go back and edit or delete them. So again, I can’t figure out how to tie listings to an individual.

If anyone has any advice I’d be really appreciative, this is all very tough and overwhelming!

Yes, you should definitely use Firebase for this. It’s a bit of a steep learning curve but I would start with the official tutorials: Connect a Firebase Realtime Database | Drag and Drop | Thunkable Docs.

I’ve had success asking ChatGPT or Microsoft Copilot how to structure my Firebase data but I would work on that after successfully reading & writing data from Firebase’s Realtime Database.

·····················································································································
Need help? How to Ask Great Questions :sparkles: Debugging A Project :sparkles: API JSON Tutorial

Want to hire a Certified Thunkable Expert? Elevate your app with Tatiang on Fiverr

Thanks for the reply, I’ve set up Firebase and connected to my app but I don’t understand where I go from there.

The tutorials seem to deal with numbers specifically rather than detailed words and images to display something that would look similar to the data grid.

I’ve tried for hours to see if I can import data from the Google Sheet into a local table that could then remove all items that do not match the search term but haven’t found success yet.

I figured if I could achieve this, I could do the same for the user submitted content tab.

Sorry, Firebase might not be best for a Data Viewer Grid. I hadn’t noticed that in your original post. It’s possible but not so easy.

To get help here, you’d have to post screenshots of your blocks or a link to your project. It’s hard to know what to suggest without seeing what you’ve tried.

Or you could check with Thunkable Support (depending on your license) or hire a freelancer such as myself to assist you.

I’ve managed to make an API for the Google Sheets and add a ‘Call WebAPI’ block for it. The best I’ve been able to do is call in all of the Google Sheets API text into a label using the block sequence attached below.
image

I now want to organise that data (that’s being pulled from a Google Sheet) into a Local Table. This would then show in the Data Grid underneath, but I would like to then organise blocks to delete all data (in the Local Table) that does not have the specified search term e.g. If the user were to type in Charizard, the only result that would pop up is the single Charizard listing that’s coming from the Google Sheets API.

It looks like your API response is a csv. I’m not sure how/if you can convert that to a local table. There is probably a way to import that csv into an existing Google Sheet using Javascript. Generally, APIs return JSON which I’m quite familiar with.

You might start by creating a list using the make list from text block with delimiter “,” which will at least separate the text for you.

It has been converted to a CSV to bring the data in as a WebAPI. With the idea of taking that data in some way to put into a local table.

I saw this thread with a similar problem to myself, but they are working with variables and the project example is unviewable for myself.

I’ve also tried implementing the list block as you said but not sure how it fits.

Can you share the project link or a screenshot of the blocks you set up? It might also be helpful to share a csv file with the data you’re using but I understand if you prefer not to do that.

·····················································································································
Need help? How to Ask Great Questions :sparkles: Debugging A Project :sparkles: API JSON Tutorial

Want to hire a Certified Thunkable Expert? Elevate your app with Tatiang on Fiverr

Project:
https://x.thunkable.com/projectPage/664e51cc1bfcd7536209878c

API:
https://sheets.googleapis.com/v4/spreadsheets/1IndSFQLFHi2kd8GRNFuSzdbkwHSMOQ-orKzhFAzQSus/values/Sheet1!A1:G1000?key=AIzaSyAYkh9dksfgnp2dx0-8uzL1x4R33p_Y2DQ

The tab is ‘Trading Market’ specifically looking at. Appreciate your help!

If we can’t resolve this, a different solution I could potentially do is when a user submits a card the information is duplicated so that it ends up on the original Google Sheet and a local table (which is stored on the app). Then the local table would act as a second database which could then be manipulated to act as the database for a search bar. I could then potentially set up the search bar to remove all data that does not contain the keyword and then feed that local table into a new data grid which only appears when the search button is pressed.

To summarise:
User submits card>data is added to Google Sheet and to Local Table>Data is displayed in (visible) Data Grid from Google Sheet>Data is added to a second (hidden) Data Grid>User types in search keyword (e.g. ‘Charizard’)>blocks delete data in the local table that doesn’t contain the keyword ‘Charizard’ leaving the original Google Sheet untouched>Second Data Grid pulls in local table data and becomes visible, the original Data Grid is hidden

My questions are:

  1. Is that possible?
  2. If there’s a local table with 100+ entries, will it massively impact the app speed/performance?
  3. Could you refresh the table each time the user searches or would they need to close and open the app?
  4. Would this make realtime updates and deletions to the data on the local table difficult?
  5. Is there an easier way to do it?

Hi @8bitretrofishep
I can interested to help you on the points.
Please connect further, If you are still looking to hire.

Regards
Deep