Learn how to make the most out of the Dropbox Community here 💙.
Learn how to make the most out of the Dropbox Community here 💙.
Trying to make a small app that will read a pair of files from a dropbox folder and compile a small database from them. Just getting started, following the sample but I keep getting errors of different kinds.
I'm using virtualenv and have only installed dropbox and its dependencies using
pip install dropbox
This is my pip freeze:
appdirs==1.4.3 certifi==2017.4.17 chardet==3.0.3 dropbox==7.3.1 idna==2.5 packaging==16.8 pyparsing==2.2.0 requests==2.16.5 six==1.10.0 urllib3==1.21.1
Trying to run the files_list_folder example, I first had an issue that any folder name would not pass some regex validation. Even a name as simple as 'testFolder' would fail.
Traceback (most recent call last): File "process-dropbox.py", line 7, in <module> for entry in dbx.files_list_folder('testFolder').entries: File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/dropbox/base.py", line 710, in files_list_folder include_has_explicit_shared_members) File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/dropbox/files.py", line 3180, in __init__ self.path = path File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/dropbox/files.py", line 3204, in path val = self._path_validator.validate(val) File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/dropbox/stone_validators.py", line 316, in validate % (val, self.pattern)) dropbox.stone_validators.ValidationError: ‘testFolder’ did not match pattern '(/(.|[\r\n])*)?|(ns:[0-9]+(/.*)?)'
I decided to try an empty name (supposedly for the root directory) and that seems to pass the validation, but then it throws this error.
Traceback (most recent call last):
File "process-dropbox.py", line 5, in <module>
dbx.users_get_current_account()
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/dropbox/base.py", line 3277, in users_get_current_account
None,
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/dropbox/dropbox.py", line 239, in request
timeout=timeout)
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/dropbox/dropbox.py", line 330, in request_json_string_with_retry
timeout=timeout)
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/dropbox/dropbox.py", line 414, in request_json_string
timeout=timeout,
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/requests/sessions.py", line 570, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/requests/sessions.py", line 523, in request
resp = self.send(prep, **send_kwargs)
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/requests/adapters.py", line 440, in send
timeout=timeout
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/urllib3/connectionpool.py", line 587, in urlopen
timeout_obj = self._get_timeout(timeout)
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/urllib3/connectionpool.py", line 302, in _get_timeout
return Timeout.from_float(timeout)
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/urllib3/util/timeout.py", line 154, in from_float
return Timeout(read=timeout, connect=timeout)
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/urllib3/util/timeout.py", line 94, in __init__
self._connect = self._validate_timeout(connect, 'connect')
File ".../dbdata/backend/tests/dropbox/app-dropbox/lib/python2.7/site-packages/urllib3/util/timeout.py", line 127, in _validate_timeout
"int, float or None." % (name, value))
ValueError: Timeout value connect was Timeout(connect=30, read=30, total=None), but it must be an int, float or None.
I also tried users_get_current_account and got the same error.
Not sure where to go from here. This feels like the dependencies are perhaps not the right versions or something. I am not sure where to go from here.
Thanks in advance for any help.
Thanks! By downgrading I have managed to run some of the API functions, but now I have another problem.
The app I started using has App Folder permissions (set to 'testFolder') and from what I can tell, the path used for endpoints is relative to that folder. So, if I want to list the contents of 'testFolder' I actually pass an empty path, correct?
Now, the issue is that I get an empty 'entries' array when I try to list the contents of 'testFolder' even though there is a file there.
I tested listing the contents of 'testFolder' with an app with 'Full Dropbox' permissions and it does list the file.
Any idea what could be the issue?
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 or Facebook.
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!