Need to see if your shared folder is taking up space on your dropbox 👨💻? Find out how to check here.
Forum Discussion
denne
9 years agoExplorer | Level 3
General URL for many files from 1 shared folder
Hello community, In my dropbox I have a folder with 200 country flags which I would like to download automatically using the respective URLs. My problem is that the URL of every single file contain...
- 9 years agoDropbox API v2 now supports listing the contents of a shared link for a folder. This can be accomplished using the same interface as listing a folder in a connected user's account, via the list_folder functionality. To list the contents of a shared link for a folder, you instead provide the shared link URL in the `shared_link` parameter to list_folder:
https://www.dropbox.com/developers/documentation/http/documentation#files-list_folder
You can also get the shared link metadata and file data using:
https://www.dropbox.com/developers/documentation/http/documentation#sharing-get_shared_link_metadata
https://www.dropbox.com/developers/documentation/http/documentation#sharing-get_shared_link_file
If you're using an official SDK, there will also be corresponding methods for these endpoints.
So, you could use a shared link for a folder and then programmatically list and access the contents.
denne
9 years agoExplorer | Level 3
Hi Mark,
yes, it is for an app I'm playing with.
My idea was: to show country flags which I hold in my dropbox, but every single flag-file has not only a file name (like gb.png) but also a dropbox key (/s/xxxxxxxxxxx) for that file which makes the whole URL unique and thus impossible to generalize the call of the URL.
Thank you,
Denne
Greg-DB
Dropbox Community Moderator
9 years agoHi Denne, Sanchez is correct, there isn't a way to get a general shared link like this, but I'll pass this along as a feature request.
- Greg-DB9 years ago
Dropbox Community Moderator
Dropbox API v2 now supports listing the contents of a shared link for a folder. This can be accomplished using the same interface as listing a folder in a connected user's account, via the list_folder functionality. To list the contents of a shared link for a folder, you instead provide the shared link URL in the `shared_link` parameter to list_folder:
https://www.dropbox.com/developers/documentation/http/documentation#files-list_folder
You can also get the shared link metadata and file data using:
https://www.dropbox.com/developers/documentation/http/documentation#sharing-get_shared_link_metadata
https://www.dropbox.com/developers/documentation/http/documentation#sharing-get_shared_link_file
If you're using an official SDK, there will also be corresponding methods for these endpoints.
So, you could use a shared link for a folder and then programmatically list and access the contents.- denne9 years agoExplorer | Level 3
Thank you Greg! I'll give it a try
- duckladydinh6 years agoExplorer | Level 4
I confirmed that this method is not going to work. The json response contains entries with id, tag and so one, but you cannot really download the subfolders or anything with them.
- Greg-DB6 years ago
Dropbox Community Moderator
duckladydinh I'm not sure I understand your comment. If something isn't working as documented, please share the details so we can look into it for you.
For example, you can use the /2/files/list_folder endpoint to list the contents of a folder from a shared link for the folder:
curl -X POST https://api.dropboxapi.com/2/files/list_folder \ --header "Authorization: Bearer <ACCESS_TOKEN>" \ --header "Content-Type: application/json" \ --data "{\"path\": \"\",\"shared_link\": {\"url\": \"<SHARED_LINK_FOR_FOLDER>\"}}" # { # "entries": [ # { # ".tag": "folder", # "name": "Test", # "path_lower": "/test shared folder/test", # "path_display": "/test shared folder/Test", # "parent_shared_folder_id": "248930168", # "id": "id:uKXaztDfaPQAAAAAAAAABA", # "sharing_info": { # "read_only": false, # "parent_shared_folder_id": "248930168", # "traverse_only": false, # "no_access": false # } # }, # <redacted for brevity> # ], # "cursor": "<redacted for brevity>", # "has_more": false # }And you can also list sub-folders like that using the "path" parameter:
curl -X POST https://api.dropboxapi.com/2/files/list_folder \ --header "Authorization: Bearer <ACCESS_TOKEN>" \ --header "Content-Type: application/json" \ --data "{\"path\": \"/test\",\"shared_link\": {\"url\": \"<SHARED_LINK_FOR_FOLDER>\"}}" # { # "entries": [ # <redacted for brevity> # { # ".tag": "file", # "name": "test.txt", # "path_lower": "/test shared folder/test/test.txt", # "path_display": "/test shared folder/Test/test.txt", # "parent_shared_folder_id": "248930168", # "id": "id:uKXaztDfaPQAAAAAAAAB3w", # "client_modified": "2018-05-10T17:07:46Z", # "server_modified": "2019-10-18T20:35:37Z", # "rev": "5953546d8c26e0ed65f78", # "size": 4, # "sharing_info": { # "read_only": false, # "parent_shared_folder_id": "248930168", # "modified_by": "<redacted for brevity>" # }, # "is_downloadable": true, # "content_hash": "954d5a49fd70d9b8bcdb35d252267829957f7ef7fa6c74f88419bdc5e82209f4" # } # ], # "cursor": "<redacted for brevity>", # "has_more": false # }And then you can download a listed file using /2/sharing/get_shared_link_file by likewise using the relative path:
curl -X POST https://content.dropboxapi.com/2/sharing/get_shared_link_file \ --header "Authorization: Bearer <ACCESS_TOKEN>" \ --header "Dropbox-API-Arg: {\"url\": \"<SHARED_LINK_FOR_FOLDER>\",\"path\": \"/test.txt\"}" # test file contents
About 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!