You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅用API Key调用Google Drive API下载文件遇权限问题求助

仅用API Key下载Google Drive文件的可行方案

首先明确:API Key无法直接访问私有文件,哪怕是生成该Key的账号自己的文件也不行——API Key的作用是标识你的应用、管控API调用配额,它不代表用户身份,没有权限读取私有存储空间的内容,这就是你遇到403权限错误的原因。

如果你的场景只能用API Key,唯一可行的办法是把目标文件设置为公开可访问,再通过API Key调用下载接口,具体步骤如下:

步骤1:设置文件为公开可访问

打开目标文件的Google Drive页面,点击「共享」→ 选择「知道链接的任何人」→ 权限设为「查看者」,保存设置。

步骤2:获取文件ID

从文件的共享链接中提取FILE_ID,比如链接https://drive.google.com/file/d/123abcXYZ/view里的123abcXYZ就是文件ID。

步骤3:修正代码调用下载接口

用以下代码替换你原来的示例,就能通过API Key下载公开文件:

import requests

api_key = 'YOUR_API_KEY_HERE'
file_id = 'YOUR_FILE_ID_HERE'

# 调用Drive API的文件下载接口(适用于PDF、压缩包等可直接下载的文件类型)
response = requests.get(
    f'https://www.googleapis.com/drive/v3/files/{file_id}?alt=media',
    params={'key': api_key}
)

# 保存文件到本地
if response.status_code == 200:
    with open('downloaded_file', 'wb') as f:
        f.write(response.content)
    print('文件下载成功')
else:
    print(f'下载失败:{response.json()}')

针对Google原生格式文件的补充

如果是Docs、Sheets这类Google原生格式文件,需要用export接口指定导出格式,比如导出为PDF:

response = requests.get(
    f'https://www.googleapis.com/drive/v3/files/{file_id}/export',
    params={'key': api_key, 'mimeType': 'application/pdf'}
)

重要提示

公开文件会被任何知道链接的人访问,若文件涉及敏感内容,此方案不适用——这种情况下你只能回到OAuth或服务账号的方案,没有其他绕过权限限制的途径。

内容的提问来源于stack exchange,提问作者Farhan Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:53:18