Forum Discussion

quocvu's avatar
quocvu
Explorer | Level 3
9 years ago

Best way to get a file's URL

There are photos in shared folder that I have access to.  I would like to get the URL of the photos (the JPEG/PNG) in that folder using the V2 NodeJS API.

 

I am able to enumerate the files in the folder using filesListFolder().  How do I use the "id" or "name" to get the URL.  I would like to have a permanent URL instead of a temporary since I will be storing that value in my DB.

7 Replies

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago
    You can use sharingCreateSharedLinkWithSettings to make a shared link for any file or folder:

    https://dropbox.github.io/dropbox-sdk-js/Dropbox.html#sharingCreateSharedLinkWithSettings__anchor

    Or, if the shared link already exists, you can use sharingListSharedLinks to retrieve it:

    https://dropbox.github.io/dropbox-sdk-js/Dropbox.html#sharingListSharedLinks__anchor

    (You may want to use SharingListSharedLinksArg.direct_only to restrict that call to the specific item only.)
  • pigelectric's avatar
    pigelectric
    New member | Level 2
    9 years ago
    As you mention, a shared link must exist for the sharing-list-shared-links to retrieve it.

    The issue I am facing is trying to get a shared link to generate for all files in a folder. I tried using the sharing-create-shared-link with settings API but it only seems to generate the shared link on a folder or individual file basis.

    How do I get every file in a folder to have a shared link, without having to go through each file one by one?
    THANK YOU
  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago
    There isn't a way to create a shared link for every file in a folder without making a call for each one unfortunately. You'll need to list the files and call sharingCreateSharedLinkWithSettings on each one.
  • pigelectric's avatar
    pigelectric
    New member | Level 2
    9 years ago

    Oh darn, I was thinking that might be the case. Is there a way to automate that ?

  • quocvu's avatar
    quocvu
    Explorer | Level 3
    9 years ago

    Thanks Greg.  Can I do that even though I am not the owner of the shared folder?

     

    Can you explain what is the use of the id (of files or folders)  returned by filesListFolder().  I believe when the argument is specified as path, we are talking about this: <folder name>/<folder name>/<filename>

     

    Then what is the path if we are within a shared folder?  is that shared folder considered to be the root?

  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    9 years ago
    Yes, you can use these methods for files/folders inside a shared folder even if you are not the owner of the shared folder. As long as you are a member of the shared folder, the contents will exist in your account for you to use, the same as you can see on the website.

    The 'id' for a file/folder is just another way to identify a particular item. Some API endpoints support supplying a file ID instead of a file path. The advantage to a file ID is that it doesn't change when a file is moved, for example.

    Whether or not a file is in a shared folder, the path is relative to the root that your app can see. That is the root of the Dropbox itself for apps with the "full Dropbox" permission, and the app folder for apps with the "app folder" permission. The paths for items are included in the Metadata objects for those items, e.g., as returned by filesListFolder.

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!