Skip to content

MuseTransfer

Aixzk edited this page Jul 18, 2022 · 4 revisions

前言

此项目使用的接口是 MuseTransfer 的开放 API ,因此使用需要 client_idclient_key 参数,可以通过以下流程申请获得。

申请流程

  1. 成为 MuseTransfer 的注册用户,并绑定手机号(https://musetransfer.com/)。
  2. 发送邮件到官方邮箱申请 👉 musetransfer@hotmail.com ,申请时请附上以下几点说明:
    1. 你的注册手机号和微信账号昵称;
    2. 你日常上传文件的场景和类型,比如,实验项目文件临时中转批量备份等;
    3. 你想使用muse的开放API做哪些事?比如,满足日常自动化上传需求或开发第三方工具等。
  3. 管理员进行审核,审核通过后为账号开通API调用权限。
  4. 管理员通过邮件回复你的账号ak/sk,参考本文档自行使用即可。

用法

命令行

> uploader muse --help
Usage: uploader muse [OPTIONS]

  MuseTransfer

Options:
  --client_id TEXT      client_id  [required]
  --client_key TEXT     client_key  [required]
  --upload_path TEXT    待上传文件或目录路径  [required]     
  --title TEXT          分享链接的标题
  --password TEXT       分享链接的密码(4位数字,默认无密码)
  --valid_days INTEGER  传输有效期(天)  [default: 7]       
  --chunk_size INTEGER  分块大小(字节)  [default: 2097152] 
  --threads INTEGER     上传并发数  [default: 5]
  --help                Show this message and exit.

源码

  1. 导入此仓库中 uploader/musetransfer.pyMuseUploader 类:
from uploader import MuseUploader
  1. 创建对象并执行上传:
upload_thread = MuseUploader(
    client_id="___",        # client_id
    client_key="___",       # client_key
    upload_path="./test/",  # 待上传文件或目录路径,如果是目录将上传该目录里的所有文件
    title="untitled",       # 分享链接的标题
    password="",            # 分享链接的密码(4位数字,默认无密码)
    valid_days=7,           # 分享链接的有效期(默认 7 天,可选:7, 30, 365)
    chunk_size=2097152,     # 分块大小(单位:字节,默认 2097152 字节,即 2 MB)
    threads=5,              # 上传线程数(默认 5)
)
upload_thread.start()     # 开始上传
# upload_thread.pause()   # 暂停上传
# upload_thread.work()    # 继续上传
# upload_thread.cancel()  # 取消上传
upload_thread.join()      # 等待完成(阻塞直至完成)
print(f"链接:{upload_thread.upload_info.get('transfer_url')}")
  1. 等待上传完成。

Clone this wiki locally