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

Forum Discussion

rf27's avatar
rf27
New member | Level 2
9 years ago

Generate links and passwords with Python

Hi,

 

I am looking to generate shared links with individual passwords for a lot of folders in one directory in Dropbox. Could you please give me some starter code or point me to more information for doing this?

 

Basically I would like to be able to loop through all the folder in a directoy, generate a share link for each with a unique password (either generated by Dropbox or supplied using some sort of randomiser function), and then saving these to a CSV.

 

If you could point me in the right direction that would be great.

 

Thanks

7 Replies

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

    If you're using Python, we recommend using the official Dropbox Python SDK. In that, you can use the sharing_create_shared_link_with_settings method to create a shared link for any file or folder. Here's an example of using that method:

     

    import datetime

    import dropbox

    dbx = dropbox.Dropbox("<ACCESS_TOKEN>")

    expires = datetime.datetime.now() + datetime.timedelta(days=30)
    requested_visibility = dropbox.sharing.RequestedVisibility.team_only
    desired_shared_link_settings = dropbox.sharing.SharedLinkSettings(requested_visibility=requested_visibility, expires=expires)

    shared_link_metadata = dbx.sharing_create_shared_link_with_settings("/test.txt", settings=desired_shared_link_settings)

    print(shared_link_metadata)

    `<ACCESS_TOKEN>` should be replaced with the access token.

     

     In your case, you'd want to use RequestedVisibility.password instead of team_only.

  • dbower's avatar
    dbower
    New member | Level 2
    8 years ago

    Most of the links in the above message no longer work.  Is it possible to re-link the references, or delete the message?

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

    dbower Thanks for letting me know! I've updated my post to fix those issues.

  • ShawnLyu's avatar
    ShawnLyu
    Explorer | Level 3
    8 years ago
    Hi Greg, I've tried your code but got exception with the following message:
    dropbox.exceptions.ApiError: ApiError('e41bbb442f5b1b4fb6288eb2aa37c87e', CreateSharedLinkWithSettingsError(u'settings_error', SharedLinkSettingsError(u'not_authorized', None))).
    I've no clues what's the problem and could you help me with this?
    Thanks!
  • ShawnLyu's avatar
    ShawnLyu
    Explorer | Level 3
    8 years ago
    Thanks for your information and that helps a lot!
    I got another problem and it would be great if you could help with it:
    I've developing a website where clients would request for access to certain files/folders. In this case I wish I could generate shared links with passwords and expire date for each of them differently, say they would each get a unique accessible link with password which would be valid within certain dates.
    However, I would get shared link exists errors when I try to generate sharing links for files/folders that have one already.
    So do you provide any solutions targeting this scenario?
  • Greg-DB's avatar
    Greg-DB
    Icon for Dropbox Community Moderator rankDropbox Community Moderator
    8 years ago

    ShawnLyu It's not possible to create more than one distinct shared link per single file or folder, but I'll pass this along as a feature request. 

     

    That being the case, you'd need to either use the same shared link for each client, or make a copy of the file or folder for each client (and make a shared link for each copy).

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!