The AirTable API (a more efficient way to integrate AirTable with Thunkable)

Can you post the full JSON response as text? That way I can help you with parsing it.

I’ve always checked to see if a property is null rather than empty. I’m not sure if that might be causing a problem.

no. the data must be presented in a DVL, I thought I would pass them locally first. To get a faster answer. I err?
The first time I coded it worked, now it doesn’t. I didn’t check if null instead of empty, but on label it works, on list it doesn’t.

Without knowing how the JSON is structured, I can’t tell if the blocks you used are correct or not. But I looked at my own Airtable API sample JSON response and I believe that your property blocks are correct. Try something simpler: in the then do section, set the value of a label to the get property blocks to see if that works. Leave out the if/do block and list blocks for now.

You also should always check the value of the green error block. You can assign it to a label to make sure you’re not getting an error from the API. What is the value of that block when you test the project?

Also, is app variable Nome_List initialized or set to an empty list? It should be before you start adding items to it.

1 Like

Probably the problem is on the end of the table, how do you text null in your opinion?
I did some testing but I can’t solve.

You need to simplify things first. Are you able to assign a label to the get property blocks and see a value from your Airtable database? That should be your first step.

For example, can you display this?

If so, yay! If not, please post a screenshot of how you are trying to display that value.

By the way, here’s another way to get the same value:

Everything works if I don’t scroll the whole table. In fact, I value well the list variable that I created. But if I take the loop over the table data it doesn’t give me any results. So I have to be able to test the end of the table for good. But I don’t know how to do it.

If you are using a loop, share a screenshot of that. I do see a loop in a post above but I don’t know if it’s the same set of blocks.

I also can’t see in that screenshot how you are using the loop index value (e.g. 1 to 10). So I would need to see that.

1 Like

The table has 96 records, if I set the cycle to 100 I have no result.
In the screenshot I set it to 50 and Label14 shows me the fields.
Immediately after cycle to fill the DVL and nothing, the load icon spins indefinitely.
So two problems, one I can’t understand the table end, two I can’t fill the DVL. Yet it seems such an easy thing.

1 Like

This code is meant to break and not to work properly.

In the first loop of 1 - 50 you are filling the list using in list ..... set # this only works for a predefined list. This means if your list has 15 items it will work OK until it reaches round 16 and the code will break because you are trying to set a value outside of the size of the list.

In the second loop of 1 - 50 you are trying to change the text of the a column in a DVL by passing the numbers 1 - 50 which is not recognized by the DVL. The way the DVL is set is to only recognize the record ID not the sequential numbers.

what’s the solution?

1 Like

You should be inserting the list item at the end of the list rather than at #_______. Use this block:

image

Before starting the loop, make sure to set the list variable to the empty list block.

1 Like

I update you on what I have learned in these days. 1) How to understand how many records come out of a query.
2) row_ID of the DLVs is not a number but a hexadeciamle code, and using a conversion table, it is possible to modify the fields of the DVLs from the code. Unfortunately they are not stable, but some changes. What can be done? it’s a thunkable bug.

DECODING TABLE:

Row_ID real row_ID
1 b9f0468d-27e1-4b89-a0aa-9c6fc4535352
2 3f8abee9-dc35-4ab2-8825-3fe388a5f3a0
3 c3469c82-b033-4776-91c4-992a22e8e3de
4 831f3fbb-eead-475f-a4d8-2f1fe419c93d
5 68793a23-37ec-44b9-acae-a24efde80365
6 311c971f-4001-4f65-8363-5473a31cb71b
7 e6ca0f0a-e920-4e6a-a169-2d5d3cce23c4
8 a176ddee-16fc-4a3c-b30a-8306b9789880
9 f26dd7d1-6758-41b3-bcc1-bad1d959993c
10 8ba1646f-26e8-4b3d-9ff5-9a985bc90463
11 2d9339ee-a14b-4c5c-9ad6-c36272978320
12 601f74ce-2328-4266-b22d-0f1e643f4fcf
13 f4cc43eb-2bcf-465f-80de-8272be5465ea
14 4d27e289-2393-40b8-8393-b4701c74daaa
15 1981ce16-b2bf-425e-aede-626ed188d0fe
16 82131544-7811-4d4f-a114-bb6f766b65ee
17 910b255f-b95a-4eaa-8027-c860efad1797
![image 429x451](upload://5HFMlVWDMW1hCAMYjgwv9oH9acK.png)

with row_ID decoding table, I get this on mobile …

video.zip (2.0 MB)

1 Like

Dear @Dario_Cappello
If you refer to my comments above you will see that the only way you refer to rows inside DVL is by using the internal RowID which is a UUID code.

Avoid trying to cross reference it with row count/sequential numbers. It just doesn’t work.

Dear muneer, thanks for the reply. Where do i find internal RowID?

1 Like

Every table in Thunkable has a column named ID. This column is hidden and it contains the Row ID

See this example

1 Like

OK, thanks muneer !!!

Good morning. First of all I would like to thank those who gave me really efficient advice in this post. Now I have another problem, sorting the outgoing data from the query, I did some testing, but the app fails. Do any of you have any good advice for me?
I seem to understand that you can sort data both in the URL field or in queryParameters. True?

Hey @Dario_Cappello

Check out how easy it is to filter and sort your response!

Here I filter responses by Age and Sex,

Then i sort the responses by Age.

So easy!

3 Likes

Thank’s Jared

1 Like

Hi, are there any problems with the AirTable API? I can no longer insert records in the table. Can anyone give it a try?