aligo

aligo

阿里云盘API接口库 支持多账户和持久化登录

aligo是一个开源的阿里云盘API接口库。它支持多账户管理、持久化登录、文件操作、在线解压缩和搜索等功能。该项目提供完整的代码提示,并允许开发者进行自定义扩展。用户可以通过扫码或邮箱方式登录,使用方便。

阿里云盘APIPython文件管理多账户登录Github开源项目

aligo

🚀🔥 简单、易用、可扩展的 阿里云盘 API 接口库 👍👍

wiki 文档 + examples

文档写得很简单,详情请查看 代码提示 + 文档注释

有任何疑问 请 issue 或 加入 aligo交流反馈群 (群二维码在底部)

附带一份文档 阿里云盘开放平台文档

安装

python version Downloads

pip install -U aligo pip install git+https://github.com/foyoux/aligo.git

Notes: 最近官方更新了接口,导致 get_file_list 无法直接获取下载链接,现在需要单独使用 get_download_url 接口获取下载链接。

对于不常用(没有封装)的接口,可以直接通过 self.post 方法直接发送请求。

接口变动较多,有问题请反馈,我会尽快修复。

快速入门

"""快速入门""" from aligo import Aligo if __name__ == '__main__': ali = Aligo() # 第一次使用,会弹出二维码,供扫描登录 user = ali.get_user() # 获取用户信息 print(user.user_name, user.nick_name, user.phone) # 打印用户信息 file_list = ali.get_file_list() # 获取网盘根目录文件列表 for file in file_list: # 遍历文件列表 # 注意:print(file) 默认只显示部分信息,但是实际上file有很多的属性 print(file.file_id, file.name, file.type) # 打印文件信息

https://user-images.githubusercontent.com/35125624/150529002-c2f1b80b-fb11-4e0a-9fd7-6f57f678ccf5.mp4

基本功能

  • 完全的代码提示
  • 持久化登录、多帐户登录
  • 福利码兑换
  • 文件夹同步
  • 在线解压缩
  • 支持功能扩展
  • 搜索文件/标签
  • 获取重复文件列表
  • 文件(夹)重命名
  • 文件(夹)上传下载
  • 文件(夹)移动复制
  • 文件(夹)删除恢复
  • 获取文档在线预览接口
  • 文件(夹)分享 保存 收藏
  • 文件(夹)自定义分享(无限制)
  • 获取帐户、云盘(容量)等基本信息
  • 相册 创建 删除 修改 添加文件 获取文件

Notes:

  1. 由于秒传链接的失效,自定分享信息的有效期只有4个小时。
  2. 阿里云盘不同于其他网盘或系统,其定位文件不是基于文件名(路径),而是通过 file_id,这才是唯一定位文件的方式,aligo 中提供了简便函数 get_file_by_path/get_folder_by_path,通过网盘路径获取文件对象,通过 其上的 file_id 属性即可获取所需文件标识。但不建议频繁使用此方法,因为内部是通过 get_file_list 遍历得到的。
  3. 在保存超大分享时(分享中的文件特别多),执行保存全部的方法 - share_file_save_all_to_drive,它会立刻执行完毕,但是文件不会立刻被保存到网盘中,阿里云盘服务器会帮你在后台陆续将所有文件存到你的网盘中;所有当你使用 share_file_save_all_to_drive 保存超大分享时,却只看到一部分文件时,不用疑惑,这是正常情况。

登录

  1. 网页扫码登录

    from aligo import Aligo # 提供 port 参数即可, 之后打开浏览器访问 http://<YOUR_IP>:<port> ali = Aligo(port=8080)
  2. 发送登录二维码到邮箱(推荐)

    最佳实践:建议将邮箱绑定到微信,这样能实时收到提醒,登录过期后也可以第一时间收到登录请求。

    from aligo import Aligo, EMailConfig if __name__ == '__main__': email_config = EMailConfig( email='<接收登录邮件的邮箱地址>', # 自配邮箱 user='', password='', host='', port=0, ) ali = Aligo(email=email_config)

如何操作资源盘

from aligo import Aligo if __name__ == '__main__': ali = Aligo() drives = ali.list_my_drives() # resource_drive_id = [drive.drive_id for drive in drives if drive.drive_name == 'resource'][0] v2_user = ali.v2_user_get() resource_drive_id = v2_user.resource_drive_id # 如果后续默认操作资源盘 # ali.default_drive_id = resource_drive_id file_list = ali.get_file_list(drive_id=resource_drive_id) for file in file_list: print(file)

如何自定义配置文件路径

from aligo import set_config_folder, Aligo if __name__ == '__main__': # 创建 Aligo 对象前,先设置配置文件目录,默认是 <用户目录>/.aligo set_config_folder('/home/aligo') # 会创建 /home/aligo/小号1.json 配置文件 ali1 = Aligo(name='小号1') # 会创建 /home/aligo/小号2.json 配置文件 ali2 = Aligo(name='小号2')

关于扩展功能

一般步骤:

1. 使用浏览器或其他抓包工具,观察通信过程;
2. 获取 url/path + 请求体;
3. 继承 `Aligo`, 使用现有的方法 `self._post` 等,进行发送请求;

会自动维护 token, 你只需关注如何发送请求即可

扩展功能举栗🌰 - 配有视频和代码

如何彻底删除文件?

无需先移动文件到回收站

此功能太危险,aligo 未直接提供。不过 这里 扩展了该功能,请小心使用!

声明

此项目仅供学习交流,若有不妥之处,侵联必删。


<table align="center"> <thead align="center"> <tr> <td><h2>❤️‍🔥欢迎加入🤝🏼</h2></td> </tr> </thead> <tbody align="center"> <tr> <td><img src="images/wechat.jpg" alt="aligo反馈交流群"/></td> </tr> </tbody> <tfoot align="center"> <tr> <td>😃 添加时,请附上留言消息 “aligo” 😜</td> </tr> </tfoot> </table>

本来是群二维码,但是加进来发广告的太多了,所以改成了个人二维码。

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多