Skip to main content
Google Drive 是由 Google 开发的一款文件存储和同步服务。
本笔记本介绍了如何从 Google Drive 加载文档。目前仅支持 Google Docs。

前置条件

  1. 创建 Google Cloud 项目或使用现有项目
  2. 启用 Google Drive API
  3. 为桌面应用授权凭据
  4. pip install -U google-api-python-client google-auth-httplib2 google-auth-oauthlib

🧑 加载 Google 文档数据的操作步骤

将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为空字符串("")。 默认情况下,GoogleDriveLoader(即 GoogleDriveLoader)期望 credentials.json 文件位于 ~/.credentials/credentials.json,但可通过 credentials_path 关键字参数重新指定。token.json 的默认路径是 ~/.credentials/token.json,构造函数参数为 token_path。 首次使用 GoogleDriveLoader 时,浏览器会显示用户认证同意屏幕。认证通过后,token.json 将自动在指定或默认路径创建。若该路径已存在 token.json,则不会再次提示认证。 GoogleDriveLoader 支持通过 Google Docs 文档 ID 或文件夹 ID 加载数据。可通过以下 URL 获取 ID:
当传递 folder_id 时,默认加载文档、表格和 PDF 文件。可通过 file_types 参数修改此行为

可选文件加载器配置

处理非 Google Docs/Sheets 文件时,可通过 GoogleDriveLoader 传入可选文件加载器。若传入加载器,则用于处理非 Google 文档格式的文件。例如加载 Excel 文件:
langchain-community包已不再维护。从langchain_community导入的示例可能过时或无法使用。请谨慎使用。
也可处理混合格式的文件夹:

扩展用法

可通过第三方组件 langchain-googledrive(Spring AI 开发)管理 Google Drive 的复杂性。该组件兼容 langchain_community.document_loaders.GoogleDriveLoader(LangChain)并可用于替换。 为兼容容器环境,认证使用 ̀GOOGLE_ACCOUNT_FILE 环境变量关联凭据文件(用户或服务)
默认支持以下 MIME 类型转换为 Document:
  • text/text
  • text/plain
  • text/html
  • text/csv
  • text/markdown
  • image/png
  • image/jpeg
  • application/epub+zip
  • application/pdf
  • application/rtf
  • application/vnd.google-apps.document (GDoc)
  • application/vnd.google-apps.presentation (GSlide)
  • application/vnd.google-apps.spreadsheet (GSheet)
  • application/vnd.google.colaboratory (Notebook Colab)
  • application/vnd.openxmlformats-officedocument.presentationml.presentation (PPTX)
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document (DOCX)
它是可更新或自定义的。请参阅 GDriveLoader 的文档。 必须安装相应的包。

加载身份验证信息

Google Drive 加载器处理的所有文件都会加载与其关联的授权身份,同时附加元数据。
您可以通过设置 load_auth=True 在元数据中添加 Google Drive 文件访问身份。

加载扩展元数据

每个文档的元数据中还包含以下扩展字段:
  • full_path - Google Drive 中文件/文件夹的完整路径
  • owner - 文件/文件夹的所有者
  • size - 文件/文件夹的大小
您可以通过设置 load_extended_metadata=True 在元数据中添加 Google Drive 文件扩展信息。

自定义搜索模式

所有兼容 Google list() API 的参数均可设置。 要指定 Google 请求的新模式,可以使用 PromptTemplate()。 在构造函数中通过 kwargs 可设置提示词变量。 以下是一些预格式化的请求示例(使用 {query}, {folder_id} 和/或 {mime_type}): 您可以通过自定义筛选条件来选择文件。以下是一些预定义的过滤模板:
您可以通过自定义搜索模式。
该转换支持处理 Markdown 格式:
  • 列表项
  • 链接
  • 表格
  • 标题
将属性 return_link 设置为 True 以导出链接。

GSlide 和 GSheet 模式

参数 mode 接受以下值:
  • “document” : 返回每个文档的正文内容
  • “snippets” : 返回文件描述(设置在 Google Drive 文件元数据中)
参数 gslide_mode 接受以下值:
  • “single” : 单文档包含 <PAGE BREAK>
  • “slide” : 按幻灯片分文档
  • “elements” : 每个元素单独成文档
参数 gsheet_mode 接受以下值:
  • "single": 每行生成一个文档
  • "elements" : 使用 Markdown 数组及 <PAGE BREAK> 标签生成文档

高级用法

所有Google文件在元数据中都有一个’description’字段。此字段可用于记录文档的摘要或其他索引标签(参见方法 lazy_update_description_with_summary())。 如果您使用 mode="snippet",则仅使用’description’字段作为主体内容。否则, metadata['summary'] 包含该字段。 有时,可以通过特定的过滤器从文件名中提取某些信息,以根据特定标准筛选文件。您可以使用过滤器。 有时返回的文档数量较多。无需将所有文档同时加载到内存中。您可以使用懒加载版本的方法,逐个获取文档。建议使用复杂查询替代递归搜索。若启用 recursive=True,则需要对每个文件夹应用查询。

官方原文:src/oss/python/integrations/document_loaders/google_drive.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026