Search code examples
codeigniterherokugoogle-drive-apibox-apionedrive

Google drive, onedrive or box which is the fastest API method for displaying complete folder contents?


We are working on a web application for photo selections/proofing. To manage the photo albums, we want to use a file sharing service like dropbox, google drive, onedrive etc.

One of our use cases includes displaying albums with large quantity of photos inside our web application. We are currently using dropbox to fetch complete folders (albums) but since the dropbox api doesn't offer batch requests, it takes A LOT of time to generate individual share links and display inside our application (in terms of hours)

I am personally checking other APIs too but will really appreciate little guidance from people having experience with other APIs like google drive, onedrive, box.com etc

What will be the best method/api to achieve the use case efficiently?

Like I personally think if we have a batch operations available, we would be able to fetch an album of 3000 photos (120 kb avg size) in less than 5 minutes on a normal internet connection.


Solution

  • All services you mention (dropbox, onedrive, google drive) offer a thumbnail service. My advice is to use that functionality first. So (supported by all services):

    • request meta data about all files in folder (one call), including thumbnail URL and id. Normally this request is paged. For 3000 images you need only three requests (if page-size is 1000, the maximum for Google Drive API)
    • display thumbnails (using the cached URL)
    • retrieve actual image if user selects thumbnail based on the cached id. Which is one call

    We integrated with all three services (and s3) and in my experience, the performance is more than enough for this kind of scenario.