Я использую проект dropbox 9.3.0 для Python 3 (https://pypi.org/project/dropbox/
Я могу загрузить / загрузить код в Dropbox (для бизнеса), но файлы поступают в двоичном формате и не являются JSON в самом Dropbox.
т.е. содержимое сохраненного файла JSON содержит 1111011 100010 1101101 1100001 1101010 1101111 1110010 1010000 1100001 1
...
Мой код выглядит следующим образом:
def dict_to_binary(the_dict):
str = json.dumps(the_dict)
binary = ' '.join(format(ord(letter), 'b') for letter in str).encode("utf-8")
return binary
def initialise_dropbox():
dbx = dropbox.Dropbox(dropbox_access_token, headers={'Content-type':
'application/json'})
return dbx
def push_to_dropbox(file_object,dropbox_base_url,sub_folder,file_name,file_type,dbx,file_object_summary_str=''):
if file_type == 'json':
# or else dropbox complains, e.g. TypeError: expected request_binary as binary type
binary = dict_to_binary(file_object)
full_dbx_path = os.path.join(dropbox_base_url,sub_folder,file_name+'.'+file_type)
dbx.files_upload(binary,full_dbx_path,mode=dropbox.files.WriteMode.overwrite)
Это соответствующая документация Dropbox - https://dropbox -sdk-python.readthedocs.io / en / latest / api / dropbox.html # dropbox.dropbox.Dropbox.files_upload - I ' Я просто запутался в том, что я делаю неправильно.
Мне нужно иметь возможность загрузить файл, который в Dropbox является допустимым JSON.