# Python, загрузка файла в Dropbox с использованием Python - PullRequest
0 голосов
/ 09 октября 2019

Python, как узнать путь Dropbox и загрузить туда файл

Я хочу загружать CSV-файл ежедневно в учетную запись Dropbox, но я получаю ValidationError и другие.

myкод:


#finding the path
import pathlib
import dropbox
import os


# Automation is the name of my folder at dropbox

pathlib.Path.home() / "Automation"

Out[37]: WindowsPath('C:/Users/pb/Automation')



dbx = dropbox.Dropbox('My-token here')
dbx.users_get_current_account()


Out[38]:  FullAccount(account_id='accid', name=Name(given_name='pb', surname='manager', familiar_name='pb', display_name='pb', abbreviated_name='pb'), email='example@example.com', email_verified=True, disabled=False, locale='en', referral_link='https://www.dropbox.com/referrals/codigo', is_paired=False, account_type=AccountType('basic', None), root_info=UserRootInfo(root_namespace_id='1111111111', home_namespace_id='11111111'), profile_photo_url='https://dl-web.dropbox.com/account_photo/get/sssssssssssssssssss', country='US', team=None, team_member_id=None)


# Now trying to see something in the folder, I just want upload file there

response = dbx.files_list_folder(path='user:/pb/automation')
print(response)


for entry in dbx.files_list_folder('https://www.dropbox.com/home/automation').entries:
    print(entry.name)



ValidationError: 'user:/pb/automation' did not match pattern '(/(.|[\r\n])*)?|id:.*|(ns:[0-9]+(/.*)?)'

1 Ответ

1 голос
/ 09 октября 2019

Эта ошибка возникает из-за того, что параметр path, который ожидает API, должен начинаться с '/'. Это можно было бы лучше назвать в документах.

Находится ли папка автоматизации в корневом каталоге вашего Dropbox? Если это так, то для пути должно быть достаточно «автоматизации». Попробуйте поработать с конечной точкой /files/list_folder в Dropbox API Explorer , пока не найдете правильный путь.

Ваш цикл for, скорее всего, тоже выдаст ошибку. Вы просто пытаетесь зациклить результаты вызова list_folder? Я бы предложил изменить на

for entry in response:
    print entry
...