使用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

功能特性

用法

在开始之前,请确保从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密钥的使用也很重要,所以请记住这一点。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jsoup有效文件路径抛出java。木卫一。FileNotFoundException   java如何在不删除和添加Mapbox中的层的情况下更改SymbolLayer的Z值?   java计算用户定义年数内四个季度的降雨量   如何在Java中轻松地将格式为“20 0F 01”的字符串更改为十六进制值?   java在JPA或Hibernate中“持久类”和“实体”之间有什么区别?   java Android:AlarmManager“缺少对unregisterReceiver()的调用?”当按下后退按钮时   logcat中的java错误“isDataSchedulerEnabled():false”   java i/p col特性必须是字符串或数字类型,但不能是org。阿帕奇。火花利纳格小姐。向量   java如何从Post请求url和浏览器转储中隐藏密码   多线程javamail中的java问题   java我的用户应该直接连接到数据库吗?如何将用户连接到数据库;   java如何获得Spring数据JPA存储库工厂?   windows java字节数组转换为字符串,但不同的操作系统会产生不同的结果   java代码在eclipse中编译,但不在命令行上编译