【发布时间】:2019-06-22 09:28:09
【问题描述】:
我有一个 GoogleDrive 文件夹的公共链接:https://drive.google.com/drive/folders/19RUYQNOzMJEA-IJ3EKKUf0qGyyOepzGk?usp=sharing
我想访问 colab 笔记本中的内容。 我希望任何打开笔记本的人都能够访问该文件夹,因此无需安装我自己的驱动器。 Downloading public files in Google Drive (Python) 等其他答案似乎建议对 ID 进行切片。 我尝试按照说明https://towardsdatascience.com/3-ways-to-load-csv-files-into-colab-7c14fcbdcb92
link= 'https://drive.google.com/drive/folders/19RUYQNOzMJEA-IJ3EKKUf0qGyyOepzGk?usp=sharing'
fluff, id = link.split('=')
print (id)
但是我的 id 只是“分享”
编辑代码仍然不起作用
然后运行代码:
from google.colab import auth
auth.authenticate_user() # must authenticate
'''list all ids of files directly under folder folder_id'''
def folder_list(folder_id):
from googleapiclient.discovery import build
gdrive = build('drive', 'v3').files()
res = gdrive.list(q="'%s' in parents" % folder_id).execute()
return [f['id'] for f in res['files']]
'''download all files from a gdrive folder to current directory'''
def folder_download(folder_id):
for fid in folder_list(folder_id):
!gdown -q --id $fid
link='https://drive.google.com/drive/folders/1I6FwS5qB2bIwoPE4ueu8ZNH3upBqMB7S?usp=sharing'
folder_id="1I6FwS5qB2bIwoPE4ueu8ZNH3upBqMB7S"
folder_download(folder_id)
但得到这个错误:
Permission denied: https://drive.google.com/uc?id=1AiNvRugUOWIthoSdBMBB5p5GLpyj6_Vd
Maybe you need to change permission over 'Anyone with the link'?
但是我已将权限更改为“知道链接的任何人”
编辑 2:确保所有文件夹都处于可共享状态 在 Korakot Chaovavanich 评论之后,我确保每个文件/文件夹都是可共享的:
但是运行编辑 1 中提到的代码: 我收到此错误:
Permission denied: https://drive.google.com/uc?id=1AiNvRugUOWIthoSdBMBB5p5GLpyj6_Vd
Maybe you need to change permission over 'Anyone with the link'?
【问题讨论】:
-
id = link.split('?')[0].split('/')[-1]
-
您已更改“文件夹”,但还不够。您还需要更改其中的每个文件。看到错误是文件(1AiNv..Vd),而不是文件夹
-
@Korakot Chaovavanich 我已经让所有内容都可以共享(参见编辑 2)。是不是我没有以正确的方式分享它?我通过将所有内容都放在:'任何人都可以通过链接查看'来做到这一点。我应该放点别的吗?
标签: python url download google-colaboratory drive