aligo
🚀🔥 简单、易用、可扩展的 阿里云盘 API 接口库 👍👍
wiki 文档 + examples
文档写得很简单,详情请查看 代码提示 + 文档注释
有任何疑问 请 issue
或 加入 aligo交流反馈群 (群二维码在底部)
附带一份文档 阿里云盘开放平台文档
安装

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_id, file.name, file.type)
https://user-images.githubusercontent.com/35125624/150529002-c2f1b80b-fb11-4e0a-9fd7-6f57f678ccf5.mp4
基本功能
Notes:
- 由于秒传链接的失效,自定分享信息的有效期只有4个小时。
- 阿里云盘不同于其他网盘或系统,其定位文件不是基于文件名(路径),而是通过
file_id
,这才是唯一定位文件的方式,aligo 中提供了简便函数 get_file_by_path
/get_folder_by_path
,通过网盘路径获取文件对象,通过 其上的 file_id
属性即可获取所需文件标识。但不建议频繁使用此方法,因为内部是通过 get_file_list
遍历得到的。 - 在保存超大分享时(分享中的文件特别多),执行保存全部的方法 -
share_file_save_all_to_drive
,它会立刻执行完毕,但是文件不会立刻被保存到网盘中,阿里云盘服务器会帮你在后台陆续将所有文件存到你的网盘中;所有当你使用 share_file_save_all_to_drive
保存超大分享时,却只看到一部分文件时,不用疑惑,这是正常情况。
登录
-
网页扫码登录
from aligo import Aligo
ali = Aligo(port=8080)
-
发送登录二维码到邮箱(推荐)
最佳实践:建议将邮箱绑定到微信,这样能实时收到提醒,登录过期后也可以第一时间收到登录请求。
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()
v2_user = ali.v2_user_get()
resource_drive_id = v2_user.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__':
set_config_folder('/home/aligo')
ali1 = Aligo(name='小号1')
ali2 = Aligo(name='小号2')
关于扩展功能
一般步骤:
1. 使用浏览器或其他抓包工具,观察通信过程;
2. 获取 url/path + 请求体;
3. 继承 `Aligo`, 使用现有的方法 `self._post` 等,进行发送请求;
会自动维护 token, 你只需关注如何发送请求即可
扩展功能举栗🌰 - 配有视频和代码
如何彻底删除文件?
无需先移动文件到回收站
此功能太危险,aligo 未直接提供。不过 这里 扩展了该功能,请小心使用!
声明
此项目仅供学习交流,若有不妥之处,侵联必删。
❤️🔥欢迎加入🤝🏼 |
 |
😃 添加时,请附上留言消息 “aligo” 😜 |
本来是群二维码,但是加进来发广告的太多了,所以改成了个人二维码。