Page 1 of 1

API Issue

Posted: Mon Feb 15, 2016 3:10 pm
by patchgill
Hi guys,

I am having a little trouble getting my head around how to tackle an issue. I am working with an API :-

https://www.photoshelter.com/developer/ ... nts/public

Connecting up to it no problem and getting the information via cURL is also no bother. The point is I am needing to loop through galleries to retrieve 400 gallery IDs so I can pass in the data I need so for example I execute my first cURL response which gives me all the gallery IDs from here :-

/psapi/v3/collection/root/children

Now then I need to run a foreach loop to get each gallery ID to pass to :-

/psapi/v3/gallery/{gallery_id}
/psapi/v3/gallery/{gallery_id}/key_image

Now the problem is I am having to use cURL to get the JSON data from here too and then finally the last one :-

/psapi/v3/gallery/{gallery_id}/images/{image_id}

To get the gallery featured image. Now the first cURL works fine but when I introduce the others in foreach loops it cripples it on loading time, but looking through of course it would as its excuting cURL a ridiculous amount of times.

Is there a better way of tackling an issue like this as I feel cURL and file_get_contents is the wrong way going about this. Normally it's one execution and I get all the data I have never worked with something like this before. I would show my code but I feel it is unnecessary at this point on the grounds of I do not think this is the most productive way of even looking at this

Currently the only thing I can think of is creating a query string to execute via a CRON job that would execute twice a day to check through the galleries API at Photoshelter and add everything to a database that I need. Is this a good way of looking at solving the issue?

Any information would be greatly appreciated

Thanks in advance
Jamie

Re: API Issue

Posted: Mon Feb 15, 2016 6:42 pm
by Christopher
Not clear why you are trying to replicate the Photoshelter database or doing this server side. It seems like you might want to push this to the browser and create an Ajax call for each image to display. They will all run asynchronously and the images will load as they complete. To optimize, perhaps you could just generate Ajax calls for a first set of image, such as the visible ones, and then load the rest after the first set are loaded, or on a scroll event, etc.

Re: API Issue

Posted: Tue Feb 16, 2016 3:12 am
by patchgill
Yes this is the issue I usually work with thing server side it is my go to language. However yes I think you are absolutely spot on to pass in the data with ajax, this was the issue with PHP not having it load asynchronously. I think this was the issue I was not thinking along the right lines of getting the data to begin with hence why I came here and I was right to do so.

Thank you for your input it is greatly appreciated.

Many Thanks
Jamie