Google 尽管有 public 文件夹访问权限,驱动器仍需要身份验证
Google Drive requires authentication despite public folder access
如果文件夹具有允许任何具有 link 权限的人读取的权限,则尝试使用
从该文件夹下载特定文件
https://googledrive.com/host/<<<folder_id>>>/<<<file_name>>>
将重定向到 Google 服务登录页面。
但是,如果该文件夹具有允许任何人找到它和读取该文件的权限,则该文件将被正确下载,而不会被重定向到服务登录页面。
尽管 UI 声称“...无需登录”,但这是预期的行为吗?
是的,这是有意为之的行为。您尝试构建的 URL 来自云端硬盘的托管功能。 requires using the "Public on the web" permission 在那里可以访问。
使用较小的权限,可以通过 UI 和 link 从共享中下载。
如果您正在寻找程序下载,您可以使用驱动器 API 进行下载而无需身份验证 (https://www.googleapis.com/drive/v2/files/FILE_ID?alt=media&key=YOUR_KEY),尽管这至少需要一个 API 密钥来注册应用
更新:
请注意,当存在有效的 origin
header 时,服务器仅响应 CORS 所需的 header(浏览器通常包含此内容,因此通常不需要做任何事情。)例如:
curl -vv 'https://www.googleapis.com/drive/v2/files/FILE_ID_HERE?key=YOUR_API_KEY&alt=media' > out.tmp
上述请求不会产生 access-control-*
headers。像浏览器那样包含 origin
header:
curl -H 'origin: https://www.example.com' -vv 'https://www.googleapis.com/drive/v2/files/FILE_ID_HERE?key=YOUR_API_KEY&alt=media' > out.tmp
如果文件夹具有允许任何具有 link 权限的人读取的权限,则尝试使用
从该文件夹下载特定文件https://googledrive.com/host/<<<folder_id>>>/<<<file_name>>>
将重定向到 Google 服务登录页面。
但是,如果该文件夹具有允许任何人找到它和读取该文件的权限,则该文件将被正确下载,而不会被重定向到服务登录页面。
尽管 UI 声称“...无需登录”,但这是预期的行为吗?
是的,这是有意为之的行为。您尝试构建的 URL 来自云端硬盘的托管功能。 requires using the "Public on the web" permission 在那里可以访问。
使用较小的权限,可以通过 UI 和 link 从共享中下载。
如果您正在寻找程序下载,您可以使用驱动器 API 进行下载而无需身份验证 (https://www.googleapis.com/drive/v2/files/FILE_ID?alt=media&key=YOUR_KEY),尽管这至少需要一个 API 密钥来注册应用
更新:
请注意,当存在有效的 origin
header 时,服务器仅响应 CORS 所需的 header(浏览器通常包含此内容,因此通常不需要做任何事情。)例如:
curl -vv 'https://www.googleapis.com/drive/v2/files/FILE_ID_HERE?key=YOUR_API_KEY&alt=media' > out.tmp
上述请求不会产生 access-control-*
headers。像浏览器那样包含 origin
header:
curl -H 'origin: https://www.example.com' -vv 'https://www.googleapis.com/drive/v2/files/FILE_ID_HERE?key=YOUR_API_KEY&alt=media' > out.tmp