I am having some trouble with my app and I am hoping someone has a solution. I am currently importing some Google Sheets data into my app but not all of the Data Source blocks seem to be working. If I specify an index on a given sheet, everything works fine and it polls the needed value. However, when I use the “List of Values” block in the data sources tab, it doesn’t retrieve anything from my Google Sheets. The “number of rows” block doesn’t work either. To troubleshoot, I also tried it with a local table and that didn’t work either. Does anyone have any ideas? Any insight would be much appreciated.
This is a known issue. It was posted about earlier today. I’ll see if I can find the post.
Thanks for the update! Sorry for the repost, but I was looking for 10 mins and my keywords were not pulling anything up.
The actual issue is that you can get the list but not the updates made by the app.
If you are saying that you are not getting any values then it could be something else wrong with your code.
I was able to do a bit more testing and I was able to get the Local table data, but it still was not working with Google Sheets. For some reason, the local table is not working on my live preview phone app, but it is on the live web preview.
Can you post a screenshot of the blocks you’re using?
If you are certain that your local table works and the same blocks fail to get data from Google sheet then it would worth verifying your connection to the sheet.
Go to My Data Sources tab from the main screen and view the sheet and see if it displays data. This is how you test your connection as part of your debugging procedure.
My sheet does display the data. I have been checking that view within the app editor as well. I am getting some messy things on my end, so I will send some screenshots. I am also getting different results depending on if I am using the web version or the live app on my iPhone.
Here is a set where it is working using one sheet. (Web, code, iPhone)
Sorry for the second message, I got an error that said I could only upload three screenshots as a new user.
But then it doesn’t work here using a different sheet: (Web, code, iPhone)
I can see that the [list of values …] works for the Google sheet in your first scenario and did not work for the other sheet which means there is a sort of issue in the other sheet such as
- the sheet does not have column names in row 1
- the sheet has no values
- the first row after column names is empty
- not synchronised
The other issue is the typical use for [list of values…] is to bind it with a list viewer to see it as a list. You are assigning it to a label therefore it is displayed as comma delimited values.
Instead of the block is associated with the screen open event, I suggest to add a button and copy the [list of values…] to the click event so you can try retrieving data after the screen opens and if there is a connection timing issue you would see if working when you click the button and you can try it more than once.
Also if you add [List Viewer] instead of displaying the list in a label.
Thanks for the suggestion. Sorry for the confusion, but my actual app doesn’t use the labels I showed above. This was for troubleshooting. The code in my app is still in development, so there are some other things holding it back. In this case, I made a separate screen to make sure everything with Google Sheets was syncing/pulling/working, and as I showed, things are not. In my actual code, I am wanting to set the [List of values…] to a list, so I can search the list later. Here are some screenshots of my sheets to show you what I have.
Can I ask you to try something sounds silly? Change the sheet name “N22” to something longer such as “N22N22”.
I believe I found a bug related to number of characters in the sheet name affecting both [List of values… ] and [number of rows] blocks.
Just want you to try and confirm my findings
@muneer I think that worked. I was able to get the list that I was looking for. There was one other variable that was having some issues that might have also fixed something? (I may have just been impatient and was thinking it would be faster), but the data source was not syncing with the sheet name change. I readded the source and the changes were there. I have a feeling I just wasn’t waiting long enough because I have not had any syncing problems with this app.
Thank you for your confirmation. The synching issue is not something that happens automatically. When you change the sheet name or add/remove columns in you sheet you need to go to “My Data Sources” tab in the main Thunkable screen and look for your Google sheet connection and **resynch" again to get the changes.
Do you think that a Data Source needs a minimum number of characters in its title to work in Thunkable?
My opinion is:
When you have a sheet name such as T1, T2, T3 and connect then to a Thunkable project, you will see that the data viewers work and the blocks to get/set cells work but list of values and number of rows don’t work.
The reason these two don’t work is the sheet name less than 4 characters which is OK but if this is a requirement then it should be uniform across all Data Sources blocks. Having it as a requirement/restriction for two blocks while others are ok brings confusion.
Thanks for the insight - I’ll see if I can reproduce this behavior and file a report.
Very easy to reproduce the situation @jane
Create a Google sheet with one or more sheets/tabs and give these tabs title less than 4 characters.
You will see that you can view the tab content in the data viewer but you will get an empty list if you use [list of values…] block.
I created a sheet named
pi and tried both these blocks and wasn’t able to reproduce this behaviour.
I tested on Thunkable Live on Android, iOS and web preview but they all worked fine for me
This is what I did
A screen with
- 2 list viewers
- 2 labels
- 2 data viewers
I created a test sheet with two tabs (tables) P1 and P2
I connected the Google sheet and bound the 2 tables to the two data viewers.
In the screen Opens event I put the following
with this the list viewers should show the same result as the data viewers and the two labels with show the numbers of rows.
Check this and let me know the outcome.
Sorry, I forgot to add the outcome on my side.