I've tried to use the sample code provided in other discussions to no avail.
#!/usr/bin/env python
import dropbox
dbx = dropbox.Dropbox("***TOKEN*GOES*HERE***")
myDir = dbx.files_list_folder("")
for item in myDir.entries:
if isinstance(item, dropbox.files.FileMetadata):
name = item.name
fileID = item.id
fileHash = item.content_hash
print(name, fileID, fileHash)
but I get:
Traceback (most recent call last):
File "dropbox_test.py", line 51, in <module>
myDir = dbx.files_list_folder("")
File "/usr/local/lib/python3.8/dist-packages/dropbox/base.py", line 2118, in files_list_folder
r = self.request(
File "/usr/local/lib/python3.8/dist-packages/dropbox/dropbox.py", line 311, in request
res = self.request_json_string_with_retry(host,
File "/usr/local/lib/python3.8/dist-packages/dropbox/dropbox.py", line 461, in request_json_string_with_retry
return self.request_json_string(host,
File "/usr/local/lib/python3.8/dist-packages/dropbox/dropbox.py", line 557, in request_json_string
r = self._session.post(url,
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 581, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 665, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/lib/python3.8/http/client.py", line 1240, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.8/http/client.py", line 1281, in _send_request
self.putheader(hdr, value)
File "/usr/lib/python3.8/http/client.py", line 1213, in putheader
values[i] = one_value.encode('latin-1')
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2014' in position 46: ordinal not in range(256)
I deleted everything in my dropbox account thinking maybe it was a bad folder name/encoding, but still getting this.
I saw another issue related to this, from a while back, but I don't think they are related, unless this is a new issue. (https://github.com/dropbox/dropbox-sdk-python/issues/71)
Using:
Python 3.8.2
dropbox 10.2.0