无法从Google Drive「与我共享」下载文件的技术求助
解决Google Drive「与我共享」文件无法下载的问题
核心原因
共享文件夹不在个人Drive的默认索引范围内,或查询参数未覆盖共享资源,导致PyDrive无法获取共享文件的访问权限或列表。
解决方案
1. 修改查询参数,覆盖共享Drive资源
替换获取文件列表的代码,强制查询范围包含个人Drive和共享Drive:
file_list = drive.ListFile({ 'q': f"'{folder}' in parents and trashed=false", 'corpora': 'allDrives', 'includeItemsFromAllDrives': True, 'supportsAllDrives': True }).GetList()
参数说明:
corpora: 'allDrives':指定查询范围包含个人Drive与共享DriveincludeItemsFromAllDrives: True:允许返回共享Drive中的文件条目supportsAllDrives: True:启用对共享Drive的API支持
2. 将共享文件夹添加到个人Drive
若不想修改代码,可手动在Google Drive网页端操作:
- 找到目标共享文件夹,右键选择「添加到我的Drive」
- 完成后原代码无需修改,即可正常识别并下载文件
3. 确认共享权限有效性
联系共享者确认文件夹权限:
- 需拥有「编辑」权限,或「查看(允许下载)」权限
- 若权限为「仅查看(禁止下载)」,无法完成下载,需请求调整权限
4. 验证本地路径权限
确保代码中指定的path路径存在且具备写入权限:
# 检查路径是否存在 ls /home/lungsang/Desktop/levelpack-UI/content/A0/1\ docx-raw/ # 测试写入权限 touch /home/lungsang/Desktop/levelpack-UI/content/A0/1\ docx-raw/test.txt
若无法创建测试文件,需修改路径权限:
sudo chmod -R 755 /home/lungsang/Desktop/levelpack-UI/content/A0/1\ docx-raw/
内容的提问来源于stack exchange,提问作者lungsang
相关产品推荐
相关产品推荐

