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

Python调用Google Drive API v3上传文件报RedirectMissingLocation错误求助

排查Google Drive API v3上传时的RedirectMissingLocation错误(非降级方案)

不用急着降级依赖包,咱们可以从几个方向排查这个重定向缺失Location头的问题:

1. 先确认目标资源的有效性与请求参数

  • 首先检查你上传的目标文件夹ID是否正确,要是文件夹被移动、改名或者权限变了,Drive API可能返回异常的重定向响应。你可以先跑个小脚本验证文件夹是否能正常访问:
    from googleapiclient.discovery import build
    
    service = build('drive', 'v3', credentials=creds)
    try:
        folder = service.files().get(fileId='你的文件夹ID', fields='id,name').execute()
        print(f"目标文件夹正常:{folder['name']}(ID:{folder['id']})")
    except Exception as e:
        print(f"验证文件夹失败:{str(e)}")
    
  • 如果你上传到共享驱动器(Team Drive),别忘了在请求里加上supportsAllDrives=True参数,缺这个参数很可能会触发异常重定向,比如:
    request = service.files().create(
        body=file_metadata,
        media_body=media,
        supportsAllDrives=True  # 共享驱动器必须加这个
    )
    

2. 排查网络环境的干扰

这个错误很多时候和网络层有关,比如代理、防火墙或者网关可能会修改HTTP响应头,把Location字段弄丢了:

  • 试试在没有代理的环境下测试代码,或者检查代理配置是否允许完整传递响应头;
  • 用curl测试一下Drive API的连通性,看看响应头是否正常:
    curl -v https://www.googleapis.com/drive/v3/files/root
    
    重点看响应里有没有Location相关的异常,或者是否有莫名的重定向跳转。

3. 检查上传代码的请求构造

  • 确认你用的是正确的MediaFileUpload构造方式,尤其是断点续传模式(resumable=True)对重定向的处理更敏感,别自己瞎改请求逻辑:
    from googleapiclient.http import MediaFileUpload
    
    media = MediaFileUpload('你的文件路径', resumable=True)
    request = service.files().create(body=file_metadata, media_body=media)
    response = None
    while response is None:
        status, response = request.next_chunk()
        if status:
            print(f"已上传 {int(status.progress() * 100)}%")
    print("上传完成!")
    
  • 如果你自定义了httplib2的Http实例,别乱改默认的重定向处理配置,很可能破坏了正常的头信息解析逻辑。

4. 开启调试日志抓具体请求细节

可以打开httplib2的调试日志,看看到底是哪个请求触发了重定向,以及响应里到底有没有Location头:

import httplib2
import logging

logging.basicConfig(level=logging.DEBUG)
httplib2.debuglevel = 4

运行代码后,查看日志里的请求URL、响应状态码和响应头,这样能精准定位问题出在哪一步。

5. 检查Google Cloud项目的API配置

  • 确认你的Cloud项目里Drive API已经启用,并且配额没超限;
  • 检查服务账号或者OAuth 2.0令牌的权限是否足够,有时候权限不足会返回异常重定向而不是明确的错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 19:07:49