如何通过Google Drive API获取未授权用户可访问的直接下载链接
核心原因说明
你之前获取的webContentLink访问返回403,本质是文件默认权限为私有,所有访问请求必须携带有效的授权凭证。只要先通过API修改文件的访问权限,即可生成无需登录、所有持链接用户可直接访问的下载地址。
实现步骤
步骤1:调用权限接口设置文件公开访问权限
调用Google Drive API的permissions.create接口,给目标文件添加「任何人可查看」权限,示例请求参数如下:
请求体body: { "role": "reader", "type": "anyone" }
如果你使用Python官方客户端,调用代码示例:service.permissions().create(fileId="替换为你的文件ID", body={"type": "anyone", "role": "reader"}).execute()
步骤2:获取公开下载链接
权限设置完成后,有两种方式获取可用的公开下载地址:
- 直接构造固定格式直链,适合小文件直接下载:
https://drive.google.com/uc?export=download&id=替换为你的文件ID - 重新调用
files.get接口获取官方返回的链接:
接口指定fields参数包含webContentLink,此时返回的webContentLink无需携带access_token即可直接访问。
注意事项
- 如果是Google Workspace账号,不需要公开给所有互联网用户的话,可以将权限type调整为
domain,同时传入你的企业域名参数,实现仅企业内部用户可访问 - 单文件大小超过100M时,上述直链会触发Google Drive的安全扫描确认页,无法直接触发自动下载,这类场景建议使用
webViewLink返回的预览页,让用户手动确认下载 - 公开权限设置后,所有获取到文件ID的用户都可以访问文件内容,敏感文件请勿使用该配置
内容的提问来源于stack exchange,提问作者gogita kupatadze
相关产品推荐
相关产品推荐

