2 回答

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊
該files_list_folder
方法在特定 Dropbox 用戶的帳戶上運行,而不是在整個 Dropbox 團(tuán)隊上運行,因此它只存在于dropbox.Dropbox
,而不存在于dropbox.DropboxTeam
. 這同樣適用于files_list_folder_continue
,files_download
等。
如果您只需要連接到單個 Dropbox 帳戶來訪問該帳戶中的文件(無論該帳戶是否屬于 Dropbox Business 團(tuán)隊),您都可以注冊一個“ Dropbox APIdropbox.Dropbox
”應(yīng)用并使用訪問令牌直接創(chuàng)建一個對象對于連接到您的應(yīng)用程序的任何用戶。
如果您確實需要能夠連接到整個 Dropbox Business 團(tuán)隊的任何成員,您應(yīng)該注冊一個“ Dropbox Business API ”應(yīng)用并使用生成的訪問令牌來創(chuàng)建一個dropbox.DropboxTeam
對象。該對象適用于整個團(tuán)隊,但您可以使用“團(tuán)隊成員文件訪問”功能DropboxTeam.as_user
通過orDropboxTeam.as_admin
方法訪問特定成員的帳戶。
總而言之:
如果您使用的是“Dropbox API”應(yīng)用程序,您的代碼應(yīng)如下所示:
dbx = dropbox.Dropbox(_dropbox_token)
dbx.files_list_folder()
如果您使用的是“Dropbox Business API”應(yīng)用,您的代碼應(yīng)如下所示:
dbx = dropbox.DropboxTeam(_dropbox_token).as_user(member_id)
dbx.files_list_folder()
此外,有關(guān)如何訪問 Dropbox 帳戶的不同部分(例如團(tuán)隊文件夾)的信息,請查看命名空間指南和內(nèi)容訪問指南。要設(shè)置Namespace GuideDropbox-API-Path-Root中提到的 Header ,請使用方法。Dropbox.with_path_root

TA貢獻(xiàn)1825條經(jīng)驗 獲得超4個贊
對于下面的 Dropbox Business API,python 代碼有助于從 Dropbox 下載文件。
#功能
代碼
def dropbox_file_download(access_token,dropbox_file_path,local_folder_name):
try:
dropbox_file_name = dropbox_file_path.split('/')[-1]
dropbox_file_path = '/'.join(dropbox_file_path.split('/')[:-1])
dbx = dropbox.DropboxTeam(access_token)
# get the team member id for common user
members = dbx.team_members_list()
for i in range(0,len(members.members)):
if members.members[i].profile.name.display_name == logged_user_name:
member_id = members.members[i].profile.team_member_id
break
# connect to dropbox with member id
dbx = dropbox.DropboxTeam(access_token).as_user(member_id)
# list all the files from the folder
result = dbx.files_list_folder(dropbox_file_path, recursive=False)
# download given file from dropbox
for entry in result.entries:
if isinstance(entry, dropbox.files.FileMetadata):
if entry.name == dropbox_file_name:
dbx.files_download_to_file(local_folder_name+entry.name, entry.path_lower)
return True
return False
except Exception as e:
print(e)
return False
添加回答
舉報