使用Python连接阿里云盘

aligo是一款针对阿里云盘的Python库,提供简洁的API接口,支持文件上传下载、移动复制、分享等操作。用户可通过代码实现与阿里云盘的无缝交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目地址

🚀🔥 用Python连接阿里云盘 👍👍

aligo 是一个操作阿里云盘的 Python

提供简单易用的API接口,可以让你轻松通过代码与阿里云盘进行交互。

在这里插入图片描述

pip install --upgrade aligo

快速入门

"""快速入门"""
from aligo import Aligo

if __name__ == '__main__':
    ali = Aligo()  # 第一次使用,会弹出二维码,供扫描登录
    user = ali.get_user()  # 获取用户信息
    ll = ali.get_file_list()  # 获取网盘根目录文件列表
    # 遍历文件列表
    for file in ll:
        print(file.file_id, file.name, file.type)

基本功能

  • 持久化登录、多帐户登录
  • 获取帐户、云盘(容量)等基本信息
  • 文件(夹)上传下载、移动复制、删除恢复、重命名、分享收藏、自定义分享(无限制)
  • 搜索文件/标签
  • 福利码兑换
  • 支持功能扩展
  • 文件夹同步

注:由于秒传链接的失效,自定分享信息的有效期只有4个小时。

完全的代码提示

文档注释和代码示例

在这里插入图片描述

方法提示

在这里插入图片描述

参数提示

在这里插入图片描述

API 概览

详情请参考源码(在IDE中点进去):源码中有详细的文档注释和用法示例

文件(夹)相关

  • 创建文件夹:create_folder

  • 重命名文件(夹)

    • rename_file: 重命名文件(夹)

    • batch_rename_files: 批量重命名文件(夹)

  • 移动文件(夹)

    • move_file: 移动文件(夹)

    • batch_move_files: 批量移动文件(夹)

  • 复制文件(夹)

    • copy_file: 复制文件(夹)

    • batch_copy_files: 批量复制文件(夹)

  • 获取文件(夹)

    • get_file: 获取文件(夹)
    • batch_get_files: 批量获取文件(夹)
    • get_file_by_path: 根据路径获取文件(夹)
  • 获取文件列表: get_file_list

  • 其他

    • get_path: 获取文件(夹)路径信息

收藏相关

  • starred_file: 收藏和取消收藏 文件(夹)

  • batch_star_files: 批量收藏和取消收藏 文件(夹)

分享相关

  • get_share_list: 获取分享列表
  • 分享文件(夹)
    • share_file: (批量)分享文件(夹)
  • 取消分享文件(夹)
    • cancel_share: 取消分享
    • batch_cancel_share: 批量取消分享
  • update_share: 更新分享
  • get_share_info: 获取分享信息
  • get_share_token: 获取分享 token
  • get_share_file: 获取分享文件(夹)
  • get_share_file_list: 获取分享文件列表
  • share_file_saveto_drive: 保存分享文件(夹)
  • batch_share_file_saveto_drive: 批量保存分享文件(夹)
  • get_share_link_download_url:

自定义分享

  • share_files_by_aligo: 批量分享文件
  • share_folder_by_aligo: 分享文件夹
  • save_files_by_aligo:保存自定义分享

回收站相关

  • get_recyclebin_list: 获取回收站文件列表

  • 移动文件(夹)至回收站:不提供彻底删除的接口,如需使用,请参考自定义功能

    • move_file_to_trash: 移动文件(夹)到回收站

    • batch_move_to_trash: 批量移动文件(夹)到回收站

  • 从回收站恢复文件(夹)

    • restore_file: 恢复回收站文件(夹)

    • batch_restore_files: 批量恢复回收站文件(夹)

下载相关

  • download_file: 下载文件
  • download_files: 批量下载文件
  • download_folder: 下载文件夹
  • 其他
    • get_download_url: 获取文件下载地址(一般不直接使用)
    • batch_download_url: 批量获取文件下载地址(一般不直接使用)

上传相关

  • upload_file: 上传文件
  • upload_files: 批量上传文件
  • upload_folder: 上传文件夹

其他

sync_folder: 文件夹同步

### 阿里云盘 OpenToken 使用说明 为了与阿里云盘进行安全有效的交互,开发者通常需要通过OAuth流程获得`access_token`。对于某些特定操作,还需要额外获取`refresh_token`以及对应的`drive_id`用于后续的数据读写等操作[^1]。 #### 获取 `OpenToken` 在初次授权过程中,用户需同意应用访问其阿里云盘数据的权限。此过程涉及重定向至认证页面并由用户完成登录验证动作。成功后,系统返回临时码(code),该码随后被客户端交换成正式令牌——即`OpenToken`,其中包括但不限于: - access_token:有效期内可用于发起API请求的身份证明; - refresh_token:当`access_token`过期时更新新token所必需的信息; - expires_in:表示当前`access_token`的有效期限长度; ```json { "access_token": "example_access_token", "refresh_token": "example_refresh_token", "expires_in": 7200, "re_expires_in": 604800, "user_id": "userid_example" } ``` 上述JSON对象展示了典型的响应结构,在实际开发环境中应妥善保存这些敏感信息,并遵循最佳实践确保安全性[^5]。 #### 刷新 `AccessToken` 由于`access_token`存在有效期限制,因此建议定期刷新以维持持续连接状态。具体做法是向指定URL发送POST请求携带必要的参数如client_id、client_secret及旧有的`refresh_token`,从而换取新的凭证集。 ```python import requests def refresh_access_token(refresh_token): url = 'https://api.aliyundrive.com/token/refresh' headers = {'Content-Type': 'application/json'} data = { 'grant_type': 'refresh_token', 'refresh_token': refresh_token } try: resp = requests.post(url=url, json=data, headers=headers).json() return resp['access_token'], resp.get('new_refresh_token', refresh_token), None except Exception as e: return None, None, str(e) ``` 这段Python代码片段实现了简单的`accessToken`刷新逻辑,适用于大多数情况下的自动化维护需求。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值