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

如何通过Google API从模板库创建Google Docs/Sheets/Slides文件

从模板创建Google Docs/Sheets/Slides的API实现方案

核心思路

直接使用Google Drive API的files.copy方法复制模板文件,完全匹配网页端「从模板新建」的逻辑,每次操作都会拉取模板的最新版本,无需维护本地参考文档。

实现步骤

  1. 获取模板文件ID:从Google Drive中模板文件的URL提取ID(URL格式类似https://docs.google.com/document/d/[TEMPLATE_ID]/edit)
  2. 确保权限配置:调用API的身份(用户账号/服务账号)需对模板文件拥有至少「查看」权限;若模板在共享驱动器中,需启用API请求的supportsAllDrives参数
  3. 调用复制接口:通过files.copy创建新文件,可指定文件名、存放文件夹等参数

代码示例(Python)

from googleapiclient.discovery import build
from google.oauth2 import service_account

# 初始化Drive API客户端(以服务账号为例)
SERVICE_ACCOUNT_FILE = 'path/to/your/service-account-key.json'
SCOPES = ['https://www.googleapis.com/auth/drive']

credentials = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)
drive_service = build('drive', 'v3', credentials=credentials)

def create_file_from_template(template_id, new_file_name, parent_folder_id=None):
    # 配置新文件元数据
    file_metadata = {
        'name': new_file_name,
        'parents': [parent_folder_id] if parent_folder_id else []
    }
    
    # 执行复制操作
    response = drive_service.files().copy(
        fileId=template_id,
        body=file_metadata,
        supportsAllDrives=True  # 模板在共享驱动器时必须设置
    ).execute()
    
    return {
        'file_id': response['id'],
        'web_link': response['webViewLink']
    }

# 调用示例
template_id = 'your-template-file-id'
new_file = create_file_from_template(template_id, '新文档名称', 'target-folder-id')
print(f"新文件已创建:{new_file['web_link']}")

关键说明

  • 复制操作会完整保留原模板的格式、内容、样式,无需额外调用Docs/Sheets/Slides API处理内容
  • 无需定期同步模板:每次复制都直接使用Drive中模板的最新版本,完全适配模板频繁修改的场景
  • 支持所有Google办公文档类型:Docs/Sheets/Slides模板的复制逻辑完全一致,只需替换对应的模板ID即可

内容的提问来源于stack exchange,提问作者Patrick M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:48:18