Airtable http request (100 item limit / pagination)

Not all heroes wear capes :smiley:
This is a tremendous help and work from you. Thanks. Will follow the steps and get back with results

1 Like

Hey Mei,
so I followed your tutorial step by step, my data is being pulled (confirmed via dev tools in chrome and debugging) but i have a few problems:

  1. http request is pulling too much data (I have only 100+ just for testing)

  2. named all fields in app vars exactly as in airtable but i cant see nothing when repeated

  3. only HTTP and IF flows are giving green light, the other 2 flows are giving yellow warnings

  4. dev tools shows that the request is working but nothing i showing on screen

  5. page logic is exactly as yours (or maybe im blind and theres something im missing :sweat_smile: )

2 Likes

THANK YOU!!!

I will try this out ASAP…I can already see that I’ve made a bunch of small mistakes in my approach that added up to nothing working. I am really looking forward to tonight when I’ll have time to try this out.

Thanks again…I will report back progress as soon as I have results…

1 Like

And thanks for letting us all know about your results. I thought I was the only one struggling with those json and list warnings…

Another “thanks”…thanks for providing the links to the other pages. I’ve read a couple of these posts but not all of them.

1 Like

A quick update: This is working beautifully! I can finally pull in my entire table. I only ran into two minor snags, which are easily fixed:

  • be sure to add the authorization header to the http request

  • be sure to reset ‘alllistings’ when you navigate away from the page. if you don’t, you’ll pull in duplicate (and triplicate, etc) values ‘alllistings’

I’m going to keep playing with this and will report back other findings. Right now I am trying to figure out how best to pull in the item details once you click on list item. Using HTTP requests like this is new to me.

1 Like

Hi! Edvin_Rushitaj . Dont worry about yellow warnings. It also works ok. As i can see your data is pulling. Following your fields, your trying to pull images, i havent tried yet, because my data doesnt have images, but try with “Image URL” or “URL (any protocol)” value types or maybe “any text(matches all formats)”. I am posting some images to help you in your case.

Please comment back, if you have success or not, the more cases solved we have in the forum the more learning we get for future. Probably not now but in a few days i am going to pull data with images, so i am very interested.

See you
Mei Li

Image 1

Image 2

Image 3

One comment more, sometimes It happens to me too with text (i am not still using images, this week I will), nothing is showing and i waited a bit, it was a delay depending on the data quantity. I have more than 3000 :sweat_smile: records , so obvioulsy it delays a little, however when I refresh and wait again it shows.

Thnx Meili. I tried setting the url with any value but still cant show anything. The problem is not only that its not showing images. It doesnt show any text either. There’s something i’m missing but i dont know what it is, or maybe its just a bug :smiley:
Now, I think I’m gonna go with API method, I have setup one page to show me 10 records (so it doesnt get boring) and the next 10 record will show on the next page, but I dont know how to set up multiple pages to show unique records. Do you have any idea how to do this?

Hello Eric,
as for you first note, • do you mean the url JOIN(["https://api.airtable.com/v0…userid…key… ??
or do we have to put something into http request flow under ‘optional inputs’>‘headers’??
• what do you mean ‘reset’?

Hi Edvin,

I should have clarified…

Note 1. Under the 'optional input>‘headers’ you need to add the bearer key value.
-header: ‘Authorization’
-value: ‘Bearer YOUR_API_KEY’

Note 2. As for the ‘reset’…unless I missed a step (entirely possible) what happened to me was this:

  • My ‘airtable list’ page was loaded, and HTTP requests made.
  • After a couple of HTTP requests, ‘alllistings’ contained all of my airtable records. (great!)
  • I navigated to another page to look at something else.
  • when I came back to the ‘airtable list’ page, more HTTP requests were made.
  • But ‘alllistings’ still had the old values in them. So the new HTTP requests just got tacked on to the old ones. Now there were duplicates of every record.

My workaround for this was to create a very first step where I set ‘alllistings’ to ‘0’ to make sure it was clear. Then I made the HTTP requests.

Maybe there’s a more elegant way to do this, but it seemed to work…

I hope this helps.

-Eric

Hi Eric, i did the steps you described but either i’ve done a step wrong or there must be a bug in appgyver or airtable that doesnt let me to pull or show images. In fact, the texts are not showing either.
I cannot lose anymore time and energy in this so i will go on with the api method (this intended screen is meant for news feed so who has the time and energy to see more than 100 posts right?)
Now, if you can help me (i’ve also asked previously on another post): how can you send next batch of records to another page?
I’ve set the max records=10 in get collection and i want the next 10 to be shown on page 2, next 10 to page 3 etc etc.
Any help much appreciated

Hi Edvin:

Ive found a difference in your formula. I am not sure if it matters but yu can try to change it.

Another question, Did someone can create (post), delete or update a record through http request method? Pls, if you caan give the stepts and formulas i will really appreciate it.

thnks

In some posts, Ive read hat you have to put in formula outputs, (records1-10) and so on, depending on the content you want in that page. Hoping it helps you

Hi Mei and thanks again for taking your time explaining to me.
the ‘=’ didnt make a difference because its not showing anything. I find this to be a bit advanced for me so i jumped to api method and got it up&running (i have to limit posts to 100 but who has the time to read them all anyway :sweat_smile: )
Now the only thing i’m missing is splitting the data across pages.
Thanks for your detailed explanation with pictures (cant imagine how many hours you spent).

Hi Edvin,

Apologies for dropping out of sight for the last few days.

  • I struggled with the images as well. After much fiddling, here is the formula I used to show thumbnails: appVars.oneListing.fields[“Images”][0].thumbnails.large.url

Airtable returns attachment fields as objects, and you have to specify that you’re choosing the first item. At least that is how I understand it.

  • I am not sure about splitting the data between pages. I have not done this yet.

Catching up on the conversation here…

-Eric

Hi there, i just set up the fix of pagination that Meili_Yang beautifuly present. I’m very grateful Meili_Yang. But at the end i have problems whit duplication/multiplication values that Eric_Anderson got an answer but i don’t now how to set up this solution in appgyver - I would be very happy if someone could explain stap by step it to me.

Hi Eric, could you be kind to write down how to make this logic - set ‘alllistings’ to ‘0’ ? tnx in advance.

I figured out whit the post from Nihal_Parkar Airtable 100 item limit. Thank you for the post Nihal.

Hello all… this thread has been very helpful. I followed @Meili_Yang steps and everything worked… sort of. I am still struggling with two issues:

  1. I am still getting duplicate records. I have tried to follow solutions to this on this and other threads (though I admit I did not fully understand them) and just can’t seem to fix this issue.

  2. It has made the app very very sluggish. In this case I am actually only trying to display about 120 records. Yet if you try to move away from the tab or page while it’s trying to populate everything just freezes up.

Which leads me to another question though: how do you format specific view into the http request? I have tried a few ways, including:

JOIN([“https://api.airtable.com/v0/appvXfiGkCY5XZIfX/Tracks?view=Masterclassapi_key=keyTcuCj33D0vIFZi&offset=”,appVars.offset],"")

but can’t seem to get anything to work. My thought is if I direct it to a specific view with only the records I want it might speed up the process.

I have also attached a view of my logic in case there is something there that needs to be fixed.

Any and all suggestions welcome. Thank you!