Forum Discussion

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

stone_validators.ValidationError

Has anyone else experienced the error dropbox.stone_validators.ValidationErrror: expected type SharedLink, got integer? I got this on line 484 of dropbox/stone_validators.py

 

These recent updates have kind of broken things and I am just trying to get everything back to a semi stable state.

 

Ideas?

 

This is running in Python 3 on Pythonista on an iPhone 8+ running iOS 11.0.2

5 Replies

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

    Thanks for the report, and apologies for the trouble!

     

    It looks like the API v2 Python SDK v8.3.0 release changed the positional ordering of arguments for the files_list_folder method, unintentionally breaking any callers relying on the parameters' order.

     

    We'll look into fixing this on our side, but the best solution right now is to switch to named parameters, e.g., instead of something like:

     

    dbx.files_list_folder("", False)

     

    do something like this instead:

     

    dbx.files_list_folder(path="", recursive=False)

     

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

    We've corrected the ordering in v8.3.1 so that developers don't need to update their code when upgrading from 8.2. (If you have already done so though, you will need to revert that change, or, preferably, switch to using named parameters. Apologies for again for the bother.)

  • jyotinarang's avatar
    jyotinarang
    Explorer | Level 4
    8 years ago

    Hi,

     

    I get another error using a files_list_folder in python which states that -

    dropbox.stone_validators.ValidationError: expected type SharedLink, got string - could you suggest why this is happening?

     

     

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

    jyotinarang You're getting a slightly different error than what was originally reported on this thread, so you're likely hitting a different issue.

     

    It sounds like you're providing a string to the 'shared_link' arg, instead of a SharedLink instance. That is, instead of doing something like this:

     

    shared_link_url = "..."
    res = dbx.files_list_folder(path="", shared_link=shared_link_url)

     

     

    You need to do something like this:

     

    shared_link_url = "..."
    res = dbx.files_list_folder(path="", shared_link=dropbox.files.SharedLink(url=shared_link_url))

     

    If that doesn't seem to be the problem, please open a new thread with the details, e.g., the code you're using to reproduce the issue, and we'll take a look.

     

  • jyotinarang's avatar
    jyotinarang
    Explorer | Level 4
    8 years ago

    Thanks Greg.

     

    This worked for me. This was hard to figure out on my own though.

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!