import os from boxsdk import Client, OAuth2 import sys auth = OAuth2( client_id='client-id', client_secret='', access_token='primary-access-token' ) client = Client(auth) service_account = client.user().get() print(f'Service Account user ID is {service_account.id}') print(service_account) folder = client.folder(sys.argv[1]) print(folder.get().name) def recursively_download(folder, path=None): os.makedirs(path, exist_ok=True) for item in folder.get_items(): print(f"{item.name} - {item.type}") if item.type == 'folder': recursively_download(item, f"{path}/{item.name}") elif item.type == 'file': output_file = open(f"{path}/{item.name}", 'wb') item.download_to(output_file) recursively_download(folder, f"backup/{folder.get().name}")