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

如何使用Python重命名Google Drive文件?调用API报FileNotFoundError

错误根源

FileNotFoundError来自代码中冗余的文件上传逻辑:

  • MediaFileUpload的作用是读取本地磁盘的文件流,用来替换Google Drive上存储的文件内容,你传入的trying_new_filename_string不是本地真实存在的文件路径,自然触发找不到文件的报错。
  • 你仅需要修改文件名(属于文件元数据范畴),完全不需要上传文件内容,也不需要调整mimeType参数,多余的逻辑反而触发了错误。
修正代码

只需要传入要修改的文件名字段,调用update接口即可,不需要冗余的文件拉取、上传逻辑:

from apiclient import errors

service = build('drive', 'v3', credentials=credentials)
file_id = '1TKxcYDzEK3SUjSv6dCMM6WkKRmZwm84SPWVhR1F2DEc'
new_file_name = 'trying_new_title' # 替换为你实际需要的新文件名

def rename_drive_file(service, file_id, new_file_name):
    try:
        updated_file = service.files().update(
            fileId=file_id,
            body={'name': new_file_name},
            fields='id, name' # 可选,指定返回的字段,不写则返回默认字段集
        ).execute()
        return updated_file
    except errors.HttpError as err:
        print(f"重命名操作失败: {err}")
        return None

# 执行重命名
rename_drive_file(service, file_id, new_file_name)
注意事项
  • 仅修改文件元数据(文件名、描述、共享权限等)时,不需要传入media_body参数,仅在需要替换文件实际内容时,才需要搭配MediaFileUpload读取本地文件上传,此时要确保传入的是本地真实存在的文件路径。
  • 调用update接口时不需要提前拉取全量文件信息,body中仅传入需要变更的字段即可,未传入的字段会保留原有值,不会被意外修改。
  • 无明确需求不要随意修改mimeType字段,错误的MIME类型会导致文件无法正常预览、打开。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:36:26