使用WeTransferAPIv2传输和板的Python3包装
py3-wetransfer的Python项目详细描述
Wetransfer v2上载包装器
此模块允许您直接使用来自python 3.x的wetransfer服务。
它基于当前的湿传输API v2:https://developers.wetransfer.com/documentation
该项目由Francois Liot维护的PY3WeTransfer存储库提供。你仍然可以找到它here。然而,它似乎不再被维护。
安装
通过pypi安装:
pip install py3-wetransfer
功能特性
传输API https://wetransfer.github.io/wt-api-docs/index.html#transfer-api
电路板API https://wetransfer.github.io/wt-api-docs/index.html#board-api
用法
在开始之前,请确保从Developers Portal获取了一个api密钥。
要初始化客户端,需要使用自己的api密钥。
转移
上传文件
只需发送您的文件
fromwetransferimportTransferApix=TransferApi("<my-very-personal-api-key>")print(x.upload_file("Test upload file","test.zip"))# "https://we.tl/t-ajQpdqGxco"
上传文件
发送几个文件
fromwetransferimportTransferApix=TransferApi("<my-very-personal-api-key>")print(x.upload_files("Test upload files",["file1.zip","file2.zip"]))# "https://we.tl/t-ajQpdqGxco"
董事会
管理板
fromwetransferimportBoardApix=BoardApi("<my-very-personal-api-key>")board_id,board_url=x.create_new_board("test board")print(board_url)# "https://we.tl/t-ajQpdqGxco"# add linksx.add_links_to_board(board_id,[{"url":"https://wetransfer.com/","title":"WeTransfer"}])# add filesx.add_files_to_board(board_id,["test1.png","test2.jpg"])# retrieve the board object # https://wetransfer.github.io/wt-api-docs/index.html#retrieve-boards-informationboard_object=x.get_board(board_id)
调试
importloggingfromwetransferimportTransferApilogging.basicConfig()logging.getLogger().setLevel(logging.DEBUG)py3wetransfer_log=logging.getLogger('wetransfer')py3wetransfer_log.setLevel(logging.DEBUG)py3wetransfer_log.propagate=Truex=TransferApi("<my-very-personal-api-key>")print(x.upload_file("test upload","test.zip"))# "https://we.tl/t-ajQpdqGxco"
如果要查看完整的http流量:
importloggingfromwetransferimportTransferApiimporthttp.clientashttp_clienthttp_client.HTTPConnection.debuglevel=1logging.basicConfig()logging.getLogger().setLevel(logging.DEBUG)py3wetransfer_log=logging.getLogger('wetransfer')py3wetransfer_log.setLevel(logging.DEBUG)py3wetransfer_log.propagate=Truex=TransferApi("<my-very-personal-api-key>")print(x.upload_file("test upload","test.zip"))# "https://we.tl/t-ajQpdqGxco"
测试身份验证
如果需要测试验证有效性
fromwetransferimportTransferApix=TransferApi("<my-very-personal-api-key>")ifx.is_authenticated():print("we are authenticated")
附加认证参数
wetransfer在他们的api文档中正式要求提供一个有效的“域用户id/”用户id“,但实际上,它在没有提供它的情况下工作得很好。
fromwetransferimportTransferApix=TransferApi("<my-very-personal-api-key>",user_identifier="81940232-9857-4cf7-b685-7a404faf5205")print(x.upload_file("test upload","test.zip"))# "https://we.tl/t-ajQpdqGxco"
单元测试
这个包有很多测试。您可以通过运行命令python setup.py test
来运行测试。请确保已定义环境变量WE_API_KEY
,否则所有测试都将失败。请参阅上面的“用法”以了解如何获取密钥。您可以像这样在shell中设置键:
exportWE_API_KEY=WvMlogNaWLubua6S5iuA5tRk6ZZDqwh6yaxOpGNa
这是无效的密钥,请确保使用自己的密钥。
请注意,测试实际上会上载文件,这可能需要一段时间(取决于您的Internet连接)。另外,运行测试对api密钥的使用也很重要,所以请记住这一点。