cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Share your feedback on the Document Scanning Experience in the Dropbox App right here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Programmatically download a shared file using C++ Curl

Programmatically download a shared file using C++ Curl

Makhlouf
Explorer | Level 3

Hi,

I developped an aplication in C++ that runs on Windows. I am trying to add a feauture in the program to download a shared file from my dropbox folder. I would like the downloading to go in background in similar way to windows API URLDownloadToFile(). The windows function downloads files from the web. But when I use the dropbox file link, the function downloads an html file instead of my file. I tried to use CURL library but got stuck with the access_token. I created an application access_token as described by Dropbox developper guide. When I use this access_token I receive authorization faliure error message. I wonder if the job I am trying to do is actually doable, and whether my approach is the right one. Where should I go or what should I do to get a shared file downloaded with my windows application. 

Thanks for your help

14 Replies 14

Makhlouf
Explorer | Level 3

Dear Ð—дравко,

Yes, I tried it and got me same error (6) CURL_COUDNT_RESOLVE_HOST.

There is one observation to mention here.

If I comment the line: curl_easy_setopt (curl,CURLOPT_FOLLOWLOCATION,1) ; the function curl_easy_perform () returns 0 which means no error, but the file size is 0 bytes.

When I decomment the above line, curl_easy_perform () returns 6. and the file size is still 0 bytes.

 

Здравко
Legendary | Level 20

I can confirm that your code works using either "raw=1" or "dl=1" endings. Seems you have network issues. That's it. ( Of course could be done some improvements in the code, like detect and automatically save in corresponding file, accordingly named file for example :wink: )

Good luck!

Greg-DB
Dropbox Staff

@Makhlouf In case it helps with your the networking troubleshooting, note that the redirects to get to the file data when using 'raw=1' or 'dl=1' also go through other Dropbox domains that look like '*.dl.dropboxusercontent.com'.

Makhlouf
Explorer | Level 3
Dear Здравко, 1- Can you advise me where I can download a libcurl.dll file that should work for me. I need to make sure whether the issue source is the network or missing option in the library. 2- Also, I could not follow you regarding the improvement you suggested to my code. What do you mean by automatically save in corresponding file. Please explain more. Thanks a lot.

Здравко
Legendary | Level 20

Hi @Makhlouf,

All you need (including sourcing, binary and tutorials) is here: https://curl.haxx.se/

Again, Good luck!

ADD: As lib curl is a C library, but you are trying C++ coding, might be better take a look here: http://www.curlpp.org/ also.

Need more support?
Who's talking

Top contributors to this post

  • User avatar
    Здравко Legendary | Level 20
  • User avatar
    Makhlouf Explorer | Level 3
  • User avatar
    Greg-DB Dropbox Staff
What do Dropbox user levels mean?