Need to see if your shared folder is taking up space on your dropbox 👨‍💻? Find out how to check here.

Forum Discussion

tasos91's avatar
tasos91
Explorer | Level 3
5 years ago
Solved

Cannot download a file through the api call

I cannot download files with the api-call bellow

 

 curl --location --request POST 'https://content.dropboxapi.com/2/files/download' \ --header 'Authorization: Bearer <REDACTED>' \ --header 'Content-Type: application/octet-stream; charset=utf-8' \ --header 'Dropbox-API-Select-User: dbmid:AADVooZVTYhULkIUtBUVxhZRu0VePEYdr8A' \ --header 'Dropbox-API-Arg: {"path": "/TasosFolder/a.csv"}' .

 

The path is correct but I get 

{ "error_summary": "path/not_found/.", "error": { ".tag": "path", "path": { ".tag": "not_found" } } }

 

The file as you can see in the image bellow is in the correct path: 

This is important since I have implemented code for getting all the files from a directory and I have stuck here and this is for a customer who want to have access in getting data from Dropbox through my company's product.

Can anyone help?

 

Thank you in advance,

Tasos

 

 

 

  • It looks like the file you're referring to is located in the "team space". API calls default to the "member folder", not the team space though, so to access anything in the team space you will need to also specify the "Dropbox-API-Path-Root" header. Please refer to the Team Files Guide for information on using that:

     

    https://developers.dropbox.com/dbx-team-files-guide

     

    By the way, note that access tokens enable access to Dropbox accounts/teams, so for the sake of security, you should never share access tokens like this. I redacted it from your post, but since this access token has been shared here, you should disable this access token. You can do so by revoking access to the app entirely, if the access token is for your team and you are a team admin, here:

    https://www.dropbox.com/team/admin/settings/team_apps

    Or, you can disable just this access token using the API:

    https://www.dropbox.com/developers/documentation/http/documentation#auth-token-revoke

    Note that doing so will cause any further API calls made using this access token to fail. This cannot be undone, and you would need to get a new access token to replace this one.

4 Replies

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    5 years ago

    It looks like the file you're referring to is located in the "team space". API calls default to the "member folder", not the team space though, so to access anything in the team space you will need to also specify the "Dropbox-API-Path-Root" header. Please refer to the Team Files Guide for information on using that:

     

    https://developers.dropbox.com/dbx-team-files-guide

     

    By the way, note that access tokens enable access to Dropbox accounts/teams, so for the sake of security, you should never share access tokens like this. I redacted it from your post, but since this access token has been shared here, you should disable this access token. You can do so by revoking access to the app entirely, if the access token is for your team and you are a team admin, here:

    https://www.dropbox.com/team/admin/settings/team_apps

    Or, you can disable just this access token using the API:

    https://www.dropbox.com/developers/documentation/http/documentation#auth-token-revoke

    Note that doing so will cause any further API calls made using this access token to fail. This cannot be undone, and you would need to get a new access token to replace this one.

  • tasos91's avatar
    tasos91
    Explorer | Level 3
    5 years ago

    Ok now this is my request

     

    curl --location --request POST 'https://content.dropboxapi.com/2/files/download' \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/octet-stream; charset=utf-8' \
    --header 'Dropbox-API-Select-User: dbmid:AABpiqc0an7cRcBJJuGjlVKAqP4NcHekymI' \
    --header 'Dropbox-API-Path-Root: {".tag": "root", "root":"2005609681"}' \
    --header 'Dropbox-API-Arg: {"path": "/TasosFolder/a.csv"}'
     
    And the response I get is three curls with status 200..I don't think that this is what I expected right?

    curl -X POST https://api.dropboxapi.com/2/auth/token/from_oauth1 \
    --header "Authorization: Basic ==" \
    --header "Content-Type: application/json" \
    --data "{\"oauth1_token\": \"\",\"oauth1_token_secret\": \"\"}"


    curl -X POST https://api.dropboxapi.com/2/check/user \
    --header "Authorization: Bearer <token>" \
    --header "Content-Type: application/json" \
    --data "{\"query\": \"foo\"}"

     

    curl -X POST https://api.dropboxapi.com/2/files/get_metadata \
    --header "Authorization: Bearer <token>" \
    --header "Content-Type: application/json" \
    --header "Dropbox-API-Select-User: tasos.sotiriou91@gmail.com" \
    --data "{\"path\": \"/Homework/math\",\"include_media_info\": false,\"include_deleted\": false,\"include_has_explicit_shared_members\": false}"


    curl -X POST https://api.dropboxapi.com/2/file_requests/list_v2 \
    --header "Authorization: Bearer <token>" \
    --header "Content-Type: application/json" \
    --data "{\"limit\": 1000}"


    curl -X POST https://api.dropboxapi.com/2/files/get_metadata \
    --header "Authorization: Bearer <token>" \
    --header "Content-Type: application/json" \
    --header 'Dropbox-API-Select-User: dbmid:AADVooZVTYhULkIUtBUVxhZRu0VePEYdr8A' \
    --data "{\"path\": \"/Content/Aisera/\",\"include_media_info\": false,\"include_deleted\": false,\"include_has_explicit_shared_members\": false}"


    curl --location --request POST 'https://api.dropboxapi.com/2/files/list_folder' \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/json' \
    --header 'Dropbox-API-Select-User: dbmid:AADVooZVTYhULkIUtBUVxhZRu0VePEYdr8A' \
    --data-raw '{
    "path": "/Nested_Folder/",
    "shared_link": {
    "url": "https://www.dropbox.com/scl/fo/c226494o7l56vislcx3e6/AACvV0kUpMlUupr-4zcwnZRma?dl=0"
    }
    }'


    curl -X POST https://api.dropboxapi.com/2/files/get_metadata \
    --header "Authorization: Bearer <token>" \
    --header 'Dropbox-API-Select-User: dbmid:AADVooZVTYhULkIUtBUVxhZRu0VePEYdr8A' \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/\",\"include_media_info\": false,\"include_deleted\": false,\"include_has_explicit_shared_members\": false}"

     


    {"path":"\/Aisera","shared_link":{"url":"https:\/\/www.dropbox.com\/scl\/fo\/c226494o7l56vislcx3e6\/AACvV0kUpMlUupr-4zcwnZRma?dl=0"}}

     

    Also, You can see the image bellow of what I get
     
  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    5 years ago

    A 200 status code indicates that the call succeeded, which for /2/files/download means that the requested file data is returned in the response body. So, it looks like your "a.csv" file actually contains that sample curl code, and your client is showing it as text there in that "Body" section.

  • tasos91's avatar
    tasos91
    Explorer | Level 3
    5 years ago

    I confirmed with customer! You have right! Thank you very much for your help!

About Dropbox API Support & Feedback

Node avatar for Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.

The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.

If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X, Facebook or Instagram.

For more info on available support options for your Dropbox plan, see this article.

If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!