使用Box Python SDK Gen JWT认证上传文件时遇TypeError错误
解决Box Python SDK Gen中"TypeError: 'FoldersManager' object is not callable"错误
你遇到的错误是因为Box Python SDK Gen的API调用逻辑和旧版SDK不同:client.folders是FoldersManager类的实例,并非可调用函数,不能用client.folders(folder_id)这种语法获取文件夹对象。
修正后的代码
正确的文件上传方式是调用FoldersManager提供的upload_file方法,直接传入文件夹ID和文件路径:
import json import requests from box_sdk_gen.client import BoxClient from box_sdk_gen.jwt_auth import JWTConfig , BoxJWTAuth jwt_config = JWTConfig.from_config_file('/Users/xxxx/Desktop/xxxx /config.json') auth = BoxJWTAuth(config=jwt_config) user_auth = auth.as_user('3831914027') client = BoxClient(user_auth) folder_id = '223389277713' # 替换错误的上传语句,使用upload_file方法完成上传 new_file = client.folders.upload_file( folder_id, '/Users/xxxx/Desktop/xxxx /xxxx/part-00000-c69946d5-6a92-499f-8fec-01d06e48e6ca-c000.csv' )
关键说明
在Box Python SDK Gen中,所有资源管理类(如FoldersManager)的操作方法都直接挂载在实例上,无需先通过调用实例获取资源对象。上传文件时,直接通过client.folders.upload_file(folder_id, file_path)即可完成操作。
内容的提问来源于stack exchange,提问作者Sai Jaswanth
相关产品推荐
相关产品推荐

